刘汝佳数据结构入门.pptVIP

  • 3
  • 0
  • 约小于1千字
  • 约 39页
  • 2020-07-21 发布于福建
  • 举报
数据结构入门 清华大学刘汝佳 什么是数据结构 ●数据结构的含义 ○关系 操作 ●例子:数组 [] ○关系:前驱/后继 ○操作:随机存取,插入,删除. 数据结构为算法服务 ◎根据算法对数据的操作要求,设计合适的数据结构 实现同一套操作,可以用多种数据结构 ◎如何降低时空复杂度,又方便实现? 抽象数据类型(ADT) ●算法对数据结构的要求 ○维护一个电话薄,方便进行插入删除和查找 ●操作:插入,删除,查找 ●如何实现? ●算法不关心! 只要提供这些操作都可以! 抽象数据类型:集合 逻辑结构 抽象数据类型没有办法转化成程序 ○需要设计逻辑结构! ●所有电话记录形成线性结构,记录的顺序无要求 无序线性表 ●有了逻辑结构,可以设计算法 插入:直接插到表的头部或者尾部 删除:直接删除,再把两段合并在 查找:从头开始沿着表找一遍 ●这个算法仍然不能转化成程序 甚至无法进行复杂度分析! 物理结构 ●逻辑结构需要进一步转化成物理结构 ○逻辑结构:无序线性表 ○物理结构:数组 ●插入:插到尾部比较方便,O(1 ●删除:“合并两半”导致元素移动,最坏O(n) ●查找:最坏O(n) ○物理结构:链表 ●插入:插到头部比较方便,O(1) ●删除:找到位置后O(1) ●查找:O(n) ◎不同的物理结构,得到不同的效果!

文档评论(0)

1亿VIP精品文档

相关文档