408计算机统考考过floyd循环,2015年考研《计算机408》考研冲刺串讲班.pdf

2015计算机考研冲刺

主讲:杨航空

更多信息:

@统考计算机_杨航空

@考研专业课微博

第一部分 数据结构

第一章 线性表

 线性表的定义及基本操作

线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列。数据

元素之间是一种线性关系。

a) 存在唯一的一个被称为“第一个”的数据元素;

b) 存在唯一的一个被称为“最后一个”的数据元素;

c) 除第一个之外,集合中的每个数据元素均只有一个前驱;

d) 除最后一个之外,集合中的每个数据元素均只有一个后继。

第一章 线性表

 顺序表上基本运算的实现

定义:在内存中开辟一片连续的存储空间,将线性表中数据元素按照数据元素之

间的逻辑顺序依次存放其中,用这种存储形式存储的线性表称为顺序表。

特点:逻辑关系相邻的两个元素在物理位臵上也相邻。

位臵确定:LOC(ai)=LOC(a1)+(i-1) ×t( 其中1≤i≤n)

插入数据元素:在表的第i(取值范围:1≤i≤n+1) 个位臵上插入一个值为item 的新元

素,时间复杂度为O(n) 。

删除数据元素:将表的第i(取值范围:1≤i≤n+1) 个位臵上的元素删除,时间复杂度

为O(n) 。

优点:可以随机存取表中任一元素;

缺点:在插入,删除某一元素时,需要移动大量元素。

第一章 线性表

 顺序表上基本运算的实现

定义:在内存中开辟一片连续的存储空间,将线性表中数据

元素按照数据元素之间的逻辑顺序依次存放其中,用这种存储形

式存储的线性表称为顺序表。

特点:逻辑关系相邻的两个元素在物理位臵上也相邻。

位臵确定:LOC(ai)=LOC(a1)+(i-1) ×t( 其中1≤i≤n)

优点:可以随机存取表中任一元素;

缺点:在插入,删除某一元素时,需要移动大量元素。

第一章 线性表

 顺序表上基本运算的实现

插入数据元素:在表的第i(取值范围:1≤i≤n+1)个位

臵上插入一个值为item 的新元素,时间复杂度为O(n) 。

等概率情况下,平均移动数据元素的次数:n/2

for(j=(*L).len-1;j>=i-1;j--)

(*L).data[j+1]=(*L).data[j]; //插入位臵之后的元

素顺序后移;

(*L).data[i-1]=item; //插入元素;

(*L).len++; //顺序表长增1 ;

第一章 线性表

 顺序表上基本运算的实现

删除数据元素:将表的第i(取值范围:1≤i≤n+1)个位

臵上的元素删除,时间复杂度为O(n) 。

等概率情况下,平均移动数据元素的次数:(n-

1)/2

for(int j=i;j<=len-1;j++)

(*L).data[j-1]=(*L).data[j]; // 元素前移;

(*L).len--; //顺序表表长减1 ;

第一章 线性表

 链式存储结构

单链表:每个结点除了存储数据元素本身信息的数

据域外,只含有一个指针域用来存放其直接后继数据

元素的存储地址。线性表通过每个结点的指针域拉成

了一个“链”,称之为链表。

特点:逻辑关系相邻的两个元素在物理位臵不一定

相邻。

第一章 线性表

 建立带头结点的单链表

头插法:在链表的头部插入结点,建立带头结点的单链表。

从一个空表开始,读取数组a 中的元素,生成新结点,将读取的数据

存放到新结点的数据域中,然后将新结点插入到当前链表的表头上,直

到结束为止。

尾插法:在单链表的尾部插

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值