第一章 概论
什么是数据结构?有一定组织结构的数据。
为什么用数据结构?提高程序的执行效率。
什么是算法? 执行特定任务的过程。
大多数算法直接应用到某类数据结构上,我们需要知道算法主要是:插入新值、查找给定的值和删除给定的值等操作,还有迭代,排序和递归。
具体的数据结构有:组,有序组,栈,队,链表,二叉树,多叉树,哈希表,堆,图。
组:快速插入及取值;查找删除慢长度固定
有序组:查找快于无序组;插入删除慢长度固定
栈:后进先出;取值慢
队:先进先出;取值慢
链表:插入删除快;查找慢
二叉树:查找删除插入快;删除算法复杂
多叉树:查找删除插入快,树型存储;算法复杂
哈希表:若键值固定取值快插入快;若键值不固定取值删除慢,消耗内存。
堆:插入删除快;取值慢
图:现实世界模型;一些算法复杂且慢;
面向对象的编程思想:类封装了数据及方法,声明引用并生成对象,方法的提供者和使用者。继承多态。