
数据结构与算法分析
学习记录
table study
这个作者很懒,什么都没留下…
展开
-
数据结构总结
栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top)。当然,表也包括了很多类型,例如:线性表(链表),散列表,队列、栈等,他们都是表的一种特殊情况,而他们各自又可以根据情况不同,而使用不同的类型,比如说链表在不同的情况下可使用链表、双链表,循环链表。在这里,数值[0]所对应的便是milk,数值[3]所对应的便是apple,当我们查找apple时,它便会立马定位到数值[3],而不是通过遍历的方式从数值[0]一直往后遍历,因此它的时间复杂度仅为O(1)。原创 2024-04-12 14:58:50 · 1731 阅读 · 1 评论 -
数据结构与算法分析2表、链表
2.表的相关操作都可以由数组实现。但为了避免插入和删除的线性开销(所有元素都需要相应移动),发明了链表。下图就是表的一种表现方式。8.当所用高级语言没有指针时,使用游标实现法来实现链表。5.给出一个链表的类型声明和一些处理的函数。6.介绍双链表和循环链表。原创 2024-03-28 10:11:21 · 268 阅读 · 0 评论 -
数据结构与算法分析引论1
1.解决问题的算法有很多,但是在输入不同的情况下,不同算法之间的差异也很大,我们总是追求一个更快、更有效的方法。比如说普通的依次查找和二分查找,两者的差异就很大。我们使用大O表示法来表示算法的速度。依次查找就是O(n),而二分查找就是O(log2n)。假设4亿个数据,依次查找需要时间为4亿,而二分查找则是log2的4亿,当然这指的都是他们的最长时间,大O表示法指出了最糟糕情况下的运行时间。当然,不是所有问题都有好方法。2.在计算机科学中,除非有特别的说明,所有的对数都是以2为底的。原创 2024-03-26 22:36:56 · 344 阅读 · 0 评论