1.数据结构的类型
-
基本数据类型(primitive Data Type):
也称为标量数据类型(Scalar Data Type)
int float bool 字符
-
结构数据类型(Structured Data Type):
也称为虚拟数据类型(Virtual Data Type),比基本数据类型高一级
string(字符串) array(数组) pointer(指针) list(列表) file(文件)
-
抽象数据类型(Abstract Data Type, ADT):
"抽象数据类型"比结构数据类型更高一级,是指一个数学模型以及定义在此数学模型上的一组数学运算和操作
如:Stack(堆栈),它具有Last In, First Out(后进先出)的数据操作
2.算法的条件
算法的特征 | 内容与说明 |
---|---|
Input | 0个或多个输入数据,这些输入必须清楚的描述或定义 |
Output | 至少一个输出结果,不可能没有输出结果 |
Definitenesss(明确性) | 每个指令或步骤必须是简洁明确的 |
Finiteness(有限性) | 在有限步骤后一定要结束,不会产生无限循环 |
Effectiveness(有效性) | 步骤清楚且可行,能让用户用纸笔计算而求出答案 |
3.伪语言
接近高级程序设计语言的写法,也是一种不能直接放进计算机中执行的语言。
一般需要一种特定的预处理器(preprocessor),或者用人工编写转换成为真正的计算机语言。
4.程序设计的好坏一般考虑以下四点
1️⃣可读性(Readability)高:阅读与理解都相当容易;
2️⃣平均成本低:成本考虑不局限于编码的成本,还包括执行、编译、维护、学习、调试与日后更新等成本;
3️⃣可靠性高:所编写出来的程序代码稳定性高,不容易产生边界效应(Side Effect);
4️⃣可编写性高:针对需求所编写的程序相对容易.
5.一个程序的产生过程分为五步
➊ Requirements(需求):了解程序所需的的问题是什么,有哪些输入和输出等;
➋ Design and plan(设计规划):根据需求选择适合的数据结构,并以某种易于理解的表示方法写一个算法以解决问题;
➌ Analysis and discussion(分析讨论):思考其他可能合适的算法和数据结构,最后选出最适当的一种;
➍ Coding(编写程序):把分析的结果写成初步的程序代码;
➎ Verification(测试检验):最后必须确认程序的输出是否符合需求,这个步骤得分步地执行程序并进行许多相关的测试.
6.结构化程序设计
结构化程序设计的核心精神就是"由上而下设计"与"模块化设计"。
➜ 由上而下:将整个程序需求从上而下、由大到小逐步分解成较小的单元,或称之为"模块"(module),即python中的函数(function)
★ 三种控制流程
① 顺序结构
② 选择结构(if)
③ 重复结构
7.面向对象程序设计
面向对象程序设计(Object-Oriented Programming, OOP)的重点是强调程序的可读性(Readability)、重复实用性(Reusability)与扩展性(Extension)。
封装(Encapsulation)
*️⃣用"类"来实现"抽象数据类型"
继承(Code Reusability)
*️⃣允许代码重复使用
多态(Polymorphism)
*️⃣pass
网友评论