线性结构
线性表中的
顺序结构:无需额外空间
优点:随机存取
缺点:插入和删除元素需要移动元素
链式结构:需存储元素之间逻辑关系
只需要一个指针指向第一个结点,顺序地访问到表中任意一个元素。
栈和队列
栈:先进后出
队列:先进先出
注:灵活运动!一个队列从A端进,A端出,等同于栈。
数组矩阵
数组
二维数组的线性表A[m,n]
两个基本运算:
给定一组下标,存取相应的数据元素 (Amn存的元素数?(m-1)*n+n)
给定一组下标,修改相应的数据元素中某个数据项的值
稀疏矩阵
树
树
二叉树:
性质:二叉树第i层上最多有2的i-1次方个结点
高度为k的二叉树最多有2的k次方-1个结点
终端结点数n0与度为2的结点数n2关系:n0=n2+1
遍历:二叉树的遍历
最优二叉树(又称哈夫曼树Huffman)
构造哈夫曼树:找两个权值最小的组成小树,小的在左,大的在右,和为根结点。和和剩下的比较找两个最小的,,,一次类推,得出哈夫曼树。
哈夫曼编码同哈夫曼树。(使用频率代替权值)