数据结构课程的主要内容.docx
《数据结构课程的主要内容.docx》由会员分享,可在线阅读,更多相关《数据结构课程的主要内容.docx(20页珍藏版)》请在第壹文秘上搜索。
1、数据结构课程的主要内容数据结构课程的主要内容数据结构的基本概念基本概念和术语算法和算法分析(典型算法)线性表线性表的概念定义和特点线性表的实现依次表示和链式表示(特点、定义)线性表的基本操作建立(正序、逆序、有序)、查找、插入、删除、输出线性表的应用合并、时间困难度循环链表和双向链表栈和队列栈和队列的定义栈的表示、实现和操作(出栈、入栈)队列的表示(链队列、循环队列*)、实现和操作(入队列、出队列)串(串的基本概念和基本操作)数组数组的定义数组的地址计算(一维、二维、三维)特别矩阵的概念和地址计算(对称、上(下)三角、对角、稀疏)树和二叉树树的定义和基本术语二叉树O二叉树的性质O二叉树的存储结
2、构O二叉树的遍历树和森林O树的存储结构O树、森林与二叉树的转换。树和森林的遍历哈夫曼树及其应用图图的定义和术语图的存储结构图的遍历查找查找的基本概念静态查找表(依次表、有序表、索引依次表)的算法和性能分析动态查找表(二叉排序树和平衡二叉树)哈希表排序(干脆插入、冒泡、选择、快速和归并)第一章数据结构课程的主要内容(二)线性表线性表的类型定义线性表是n个(n0)数据元素的有限序列。数据元素可以是各种各样的(例若干个数据项组成),但同一线性表中的元素必定具有相同特性。在数据元素的非空有限集中,存在唯一的一个第一个和唯一一个最终一个元素,除次之外,每个元素有唯一的前驱和唯一的后继。线性表(al,ai
3、T,ai,ai+l,an)n为线性表的长度,i为元素在线性表中的位序。线性表的操作:建立空表、删除表、置空表、判空表、统计表长、查询(值、位序、前驱、后继)、插入元素、删除元素、函数调用)线性表的依次表示和实现依次表线性表的依次表示(依次存储结构)是指用一组地址连续的存储单元依次存放线性表的数据元素。1.OC(ai)=LOC(al)+(i-l)*l1为每个元素所占的空间线性表的依次存储结构(依次表)具有逻辑上相邻的元素,物理位置上也相邻的特点。依次表是一种随机存取的存储结构通常用数组描述依次表依次表的表示structsqlistttdefineLEN100#define1.EN100int*e
4、lem;structsqlistintaLEN:;intlength;intaLEN;intlength;intlistsize;intlength;);依次表的操作依次表初始化依次表的插入依次表的删除移动大量元素依次表的查找线性表的插入(n+l)al,a2,ai-l,ai,ai+l,an插入位置的推断(n+l)(q)(P)元素移动的依次和位置al,a2,ai-l,b,ai,ai+l,an表长的变更线性表的删除(n-l)al,a2,ai-l,ai,ai+l,an删除位置的推断(p)(q)元素移动的依次和位置al,a2,ai-l,ai+l,an表长的变更时间困难度求表长O(I)查找第i个元素、前
5、趋、后继0(1)查找值为X的元素的位序0(n)插入元素0(n)(0+l+n)(n+l)=n2删除元素0(n)(0+l+n-l)n=(n-l)2依次表适用于不常进行插入、删除运算,表中元素相对稳定的场合。线性表的链式表示和实现线性链表线性表的链式存储结构是用一组随意的(可连续、也可不连续)存储单元存储线性表的数据元素。为表示元素间的逻辑关系,除了存储数据元素本身的信息之外,还需存储一个指示其干脆后继的信息。即指针为数据元素之间逻辑关系的映象。结点包括两个域:数据域和指针域(链),n个结点链接成一个(单)链表。指示链表中第一个结点地址的指针称为头指针,最终一个结点的指针为空(NULL)。单链表可由
6、头指针唯一确定。链表的表示#defineNULLOstructnodeintdata;structnode*next;structnode*head;Ahead为头指针/若head=NULL,则表示空表。h为处理便利,在单链表的第一个结点前附设一个结点,称为头结点。此时,head-next指向第一个结点。P指向第i个结点,则p-data=ai;p-next-data=ai+1;单链表是一种非随机(依次)存储结构。单链表的操作查找第i个元素0(n)指针p从指向第一个结点的位置(head-next)向后移动(p=p-next)i-l次。插入0(n)(1)查找插入点的前趋结点p(2)生成新结点S(3
7、)s-next=p-next;(4)p-next=s;删除0(n)headppnneexxttppp-nextsppp-nneexxtt-nneexxttpp-nneexxttppp-next=p-next-next建立含头结点的单链表(动态生成)head=(structnode*)malloc(sizeof(structnode);head-next=NULL;q=(structnode*)malloc(sizeof(structnode);(1)依次从表头至表尾设p为指向链表当前最终一个结点的指针p-next=q;p=q;(2)逆序从表尾至表头q-next=head-next;head-n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程 主要内容