概念:
程序 == 数据结构 + 算法
2. 衡量程序好坏的标准:
1. 可读性
2. 稳定性
3. 扩展性
4. 时间复杂度
数据量增长与程序运行时间增长所呈现的比例函数关系称为时间渐进复杂度函数也称为时间复
杂度
O(1) > O(logn) > O(n) > O(nlogn) > O(n^2) > O(n^3) > .. > O(2^n)
5. 空间复杂度
3. 数据结构:
存储和操作数据对象的一种结构,用合理的数据结构能够减小程序的时间复杂度和空间复杂度
4. 分类:
逻辑结构
线性结构(表)
非线性结构(树、图)
存储结构
顺序存储
链式存储
索引存储
散列存储
5. 数据结构:
顺序表
链表(单向链表、双向链表、循环链表、内核链表)
顺序栈
链式栈
顺序队列
链式队列
二叉树
哈希表
排序查找算法
6. 顺序表
1. 定义类型
7. 工程代码目录结构:
main.c : 主函数程序代码
fun.c : 功能程序代码
fun.h : 功能程序代码头文件
8. gdb调试工具:
编译代码加入-g选项
gcc *.c -g
使用gdb软件调试代码
gdb ./a.out
输入命令完成调试:
l 查看代码
b 行号/函数名 设置断点
r 运行代码
n 单步执行
s 进入函数内部调试
p 变量名 查看变量的内容
q 退出调试