数据结构总结

1.算法的计算量————复杂性
2.算法的时间复杂度取决于————问题的规模待处理的数据初态
3.算法————解决问题步骤的序列或解决问题步骤的描述
4.算法的五个特性————出入确可穷

至少1个输出
0个或者多个输入
确定性:每行代码的意思没有歧义
可行性:每个代码是可以执行的
步骤有穷性

5.时间复杂度最坏——估计算法执行的时间上界
6.相同规模的n,O(n)总是优于O(n^2)
7.同一个算法,实现的语言级别越高执行效率就越低
8.算法原地工作需要辅助空间
9.数据结构按逻辑分类————线性和非线性
10.数据结构在计算机中的表示————存储结构
11.数据的存储结构分为————顺序存储和链式存储
12.循环队列,有两个指针,f指向头,r指向尾巴,进入队列,f+1,出队r+1。队列空是f=r,队满是(r+1)%Maxsize=f
13.顺序表,插入元素平均移动N/2个元素,删除一个元素平均移动(n-1)/2个元素,查找一个元素平均移动(n+1)/2个元素
14.哈希表:题目给你许多数字。和一个散列函数,通过让每一个数字与散列函数取余,余就是下标,在通过各种散列冲突解决办法,把每个数字放到数组中去。
15.栈:后进先出,一端受限的线性表。
顺序栈:一组地址连续的存储单元,top指针指向栈顶。top初始值为-1。进栈先判断栈是否满,top==Maxsize-1;不满,top+1,A[top]=x ;出栈先判断栈是否为空,top=-1;不为空,先取出值,e=A[top],top-1;
共享栈:两个顺序栈共用一个一维数组,A的栈底在数组的头,B的栈底在数组尾巴,栈长Maxsize,A为空时top=-1,B为空时top=Maxsize。,两个数组向中间靠拢,A的top+1=B的top时,栈满。A栈进栈,top+1,A[top]=x,B栈进栈,top-1,B[top]=y;A出栈,top-1,B出栈是top+1;存取元素的时间复杂度都是O(1);
15.栈的链式存储,不存在栈满,除非内存不足。且所有操作都是在单链表的表头操作。
16.线性结构:元素之间的关系一一对应,除了头尾元素,其他元素首位相连。例如,栈,队,数组,字符串。
17.非线性结构:图,树,二维数组。稀疏矩阵也是二位数组。

  1. X:=X++执行的次数

    FOR i:=1 TO n DO
    	FOR j:=1 TO n DO
    		X:=X++
    		
    i=1时  j执行了n次
    2........n次
    3........n次
    n........n次
    结果就是n^2次
    
  2. 求最后一句的频度

    FOR i:=n-1 TO 1 DO
    FOR j:=1 TO i DO
      	IF A[J]>A[J+1]
      		A[J]=A[J+1]
    
    假设n=9
    外圈i	内圈
    8		8次
    7		7次
    6		6次
    5		5次
    4		4次
    3		3次
    2		2次
    1		1次
    实际上就是1+2+3+4+....n-1次
    [n(n+1)/2]-1  取最高项n^2
    

20.顺序表,哈希表,单链表他们描述了元素之间的逻辑结构,和存储结构,有序表只描述了逻辑结构。
21.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值