根据线性表的实际存储方式,分为两种实现模型: 顺序表 ,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。 链表 ,将元素存放在通过链接构造起来的一系列存储块中。 一、顺序表 在Java中,顺序表的结构主要有:数组、ArrayList ArrayList 的 本质是对 ...
分类:
编程语言 时间:
2020-07-19 17:47:51
阅读次数:
71
1,线性表并不等于数组,线性表可以通过数组实现也可以通过链表实现,它是ADT的一种,除了包含数据,也包含对这些数据的处理(可以理解为函数)。 2,它像类一样封装,就像理解操作系统中的管道。 考点: 1,线性表分为顺序表和链表,要熟悉相关的基本操作,进而组合实现出复杂的操作。 2,主要是算法设计题,结 ...
分类:
其他好文 时间:
2020-07-18 22:33:40
阅读次数:
66
目录 1、顺序表的概念 2、顺序表的的存储表示和实现 3、基本操作的实现 3.1初始化 3.2取值 3.3查找 3.4插入 3.5删除 4、测试线性表的功能 1、顺序表的概念:使用一段连续的存储空间存储线性表的元素 2、顺序表的存储表示和实现 /** * 线性表的顺序表示和实现(数组) */ //操 ...
分类:
其他好文 时间:
2020-07-17 13:44:21
阅读次数:
59
顺序查找 算法思想 算法实现 算法优化 顺序查找的算法思想 顺序查找,又叫“线性查找”,通常用于线性表 从头到尾查 顺序查找的实现 typedef struct{ //查找表的数据结构(顺序表) ElemType *elem; //动态数组的基址 int TableLen; //表的长度 }SSTa ...
分类:
其他好文 时间:
2020-07-15 23:37:04
阅读次数:
97
一、插入排序 直接插入排序: 一 一比对 折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况 直接插入排序代码实现 1 void InsertSort(SqList &L){ 2 //对顺序表L做直接插入排序 3 for(i=2;i<=L.length;++i) 4 if(L.r[ ...
分类:
其他好文 时间:
2020-07-12 16:45:08
阅读次数:
60
链表的逆置 带头结点 void InvertList(LinkList &L) { Lnode *p = L->next; if (p == NULL) return; Lnode *q = p->next; while (q != NULL ) { p->next = q->next; q->ne ...
分类:
其他好文 时间:
2020-06-30 22:46:23
阅读次数:
61
1. 二分法 二分查找也属于顺序表查找范围,二分查找也叫做折半查找,二分查找的时间效率为(logN) 二分查找的基本思想是:在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功,如果给定值小于中间值,则查找数组的前半段,否则查找数组的后半段。 二分查找只适用于有序数组或者链 ...
分类:
编程语言 时间:
2020-06-29 23:01:59
阅读次数:
100
查找 线性表 一、顺序查找 (一)数据类型定义 typedef struct { KeyType key; //关键字域 InfoType otherinfo; //其他域 }ElemType; View Code (二)顺序表定义 typedef struct { ElemType *R; //存 ...
分类:
其他好文 时间:
2020-06-29 00:49:36
阅读次数:
87
一.查找 1.顺序查找:简单粗暴,将待查找数据和表中数据一一对比。 2.二分查找:也称折半查找,要求顺序表或者数组必须有序,查找效率相对较高。 3.分块查找:要求块与块之间有序,块内部不需要有序。查找效率高,但对表要求较高。 二.树的查找 1.二叉查找树:它或者是一棵空树,或者是具有下列性质的二叉树 ...
分类:
其他好文 时间:
2020-06-28 22:36:37
阅读次数:
64
本章学习了几种查找的方法,顺序查找、折半查找、二叉排序树查找、哈希表。 对于几种查找的特点,顺序查找的算法简单但是查找效率低,折半查找对结构要求高,同时查找效率也高,二叉排序树查找的数据结构采用二叉链表,删除和插入操作只需要移动指针。 线性表的查找介绍了顺序查找、折半查找、分块查找。 顺序查找比较简 ...
分类:
其他好文 时间:
2020-06-28 22:24:15
阅读次数:
51