标签:
一. 线性表的几种形式:
1.线性表是最常用且最简单的一种数据结构. 线性表中元素的个数n定义为线程表的长度,n= 0时称为空表.
2. 线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素. 这种顺序存储结构的线性表为顺序表.
线性表的特点: 优点是:可以随机存取的存储结构 缺点是:插入和删除时间复杂度高,主要耗费在移动元素上. 时间复杂度O(n). 数组
3.线性表的链式表示和实现 [字典,集合]
链式表是一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以不是连续的). 一般叫做线性链表或单链表. 时间复杂度为(n)
概念: 每一个元素叫做节点,
里面存储数据元素的信息叫做数据域,
存储直接后继存储位置的域叫做指针域.
头指针: 指向链表中第一个结点; 最后一个结点指针域为空”NULL”
重点: 线性表的单链表的存储结构是结构体: 数据域和指针域[本结构体类型的指针]
4. 循环链表: 另一种链式的存储结构
单循环链表: 表的最后一个结点的指针域执行头结点,整个链表形成一个环,
双向链表: 一个结点有两个指针域,一个指向直接后继,一个指向直接前继.
二 栈
@font-face { font-family: "宋体"; }@font-face { font-family: "Cambria Math"; }@font-face { font-family: "@宋体"; }@font-face { font-family: "Cambria"; }p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 12pt; font-family: Cambria; }.MsoChpDefault { font-family: Cambria; }div.WordSection1 { }
栈和队列是两种重要的线性结构. 是特殊的线性表结构,操作收到了限制.
对于栈来说,表尾为栈顶, 表头为栈尾,不含元素为空栈,
先进后出的原则(LIFO)
栈的实际应用: 括号匹配的检验
栈与递归: 栈在程序设计中实现递归:
一个直接调用自己或者通过一系列的调用语句间接的调用自己的函数,叫递归函数.
这里主要讨论递归是如何执行的?
标签:
原文地址:http://www.cnblogs.com/xiaofei76/p/5496766.html