任何一个问题一定能分析为逻辑结构中的一种结构,但却能选择不同的存储结构,以得到不同的效率。
用计算机完成处理一个问题需要先确立数据结构,并完成代码编写。步骤应该是:
1.逻辑结构(画在纸,图形上的结构):
按事物间的关系分类:
一对一(线性结构) => 线性表 栈 队列 串
一对多(非线性结构)=> 树
多对多(非线性结构)=> 图
事物间没有关系:集合 (一般简化为线性结构研究)
2.存储结构(计算机中的存储结构)。
顺序存储结构
链式存储结构
索引
散列
3.操作(代码的编写)
第一章绪论:
数据结构DS(逻辑结构、存储结构、操作)
算法A的评价标准(时间复杂度 空间复杂度)
抽象数据类型ADT的描述
算法的时间复杂度:
O(1)<O(logn)<O(n)<O(n logn)<O(n^2)<O(n^3)<O(2^n)
尽量不使用指数阶