1. 数据结构基础是数组,使用数组可以创建任何类型的数据结构
  2. 但使用数组会造成空间的浪费,所以使用结点(不连续的空间)更为合理
  3. 还有一个基础是内存管理
  4. 如果使用C++和Java,需要掌握泛型编程

线性表

  1. 线性表分为顺序表和链表

  2. 顺序表是对数组的封装

  3. 使用数组来存储元素

  4. 增加获取长度,添加元素,删除元素,查找元素等操作

  5. 添加元素和删除元素会改变原有元素的位置,所以需要挪动多个元素,时间复杂度为O(n)

  6. 算法4中增加时,如果没有多余空间会扩容到二倍;删除时小于最大容量的1/4会缩小一半

    C语言版本

    C++版本

    Java版本

0 条评论

目前还没有评论...