小祥在学习李春葆的数据结构教程时发现一个小问题,建立顺序表和输出线性表,这两个函数的形参是不一样的。 代码在这里↓↓↓ 思考这个形参为什么要写成这两种形式,即SqList *L和SqList * &L的区别。 *L是指针,全称是指针变量,是一个用来保存内存地址的变量。在这里是一个指向顺序表,存储顺序 ...
分类:
数据库 时间:
2016-09-05 01:35:18
阅读次数:
228
由于顺序表的插入、删除操作需要移动大量的元素,影响了运行效率,由此引入了线性表的链式存储。 链式存储线性表时,不需要使用地址连续的存储单元,即它不要求逻辑上相邻的两个元素在物理位置上也相邻,它是通过“链”建立起数据元素之间的逻辑关系。 因此,对线性表的插入、删除不需要移动元素,而只需要修改指针。线性 ...
分类:
其他好文 时间:
2016-09-04 10:12:26
阅读次数:
123
线性表线性表是最简单也是最常用的一种数据结构。例如,英文字母表(A,B,…,Z)是一个线性表,表中的每一个英文字母是一个数据元素;又如成绩单是一个线性表,表中的每一行是一个数据元素,每个数据元素又是由学号、姓名、成绩等数据项组成。线性表是最简单的数据结构,而顺序表和链表作为线性表的两种重要存在形式, ...
原文链接:http://c.biancheng.net/cpp/html/2657.html 定义 线性表的顺序存储又称为顺序表。 它是用一组地址连续的存储单元,依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。第1个元素存储在线性表的起始位置,第i个元素的存储位置后面紧接 ...
分类:
其他好文 时间:
2016-09-03 16:44:35
阅读次数:
208
有一个数组init_list[],数组的为长度n,此时需要向数组中的第i个位置(不是索引为i,而是i-1)插入一个数x。 代码如下: ...
分类:
编程语言 时间:
2016-09-01 20:06:59
阅读次数:
201
要求: 实现删除当前顺序表中所有值为x的数据元素,并使此操作的 时间复杂度为O(n),空间复杂度为O(1),其中n为顺序表的长度 思路: 遍历一遍时间复杂度O(n),删除一个值时间复杂度O(n),所以肯定遍历时删除肯定不符合要求。 所以通过设置计数变量K,遍历时改变数组值。 ...
分类:
其他好文 时间:
2016-08-31 23:47:43
阅读次数:
157
队列是一种先进先出(FIFO)的数据结构,他也有两种结构,一种是链式队列,一种是顺序表队列。 这里用的是链的形式来实现队列这个数据机构。 ...
分类:
其他好文 时间:
2016-08-27 18:02:44
阅读次数:
162
#include<iostream>using namespace std;typedef int DataType;class SeqList{public: SeqList() :_array(NULL) , _size(0) , _capacity(0) { cout << "SeqList( ...
分类:
编程语言 时间:
2016-08-21 18:25:31
阅读次数:
181
| 版权声明:本文为博主原创文章,未经博主允许不得转载。 从这节开始,以后的每一篇博文均会只描述一种结构。这节要解决的是有关顺序表的问题,下面就是一些顺序表的基本的知识点: 1. 顺序表其实就是线性表的一种,它除开始节点和结束节点之外的其他节点,均有且只有一个直接前趋和一个直接后继,开始 节点只有一 ...
分类:
其他好文 时间:
2016-08-20 23:27:45
阅读次数:
455
AVL树的概念 在说AVL树的概念之前,我们需要清楚二茬搜索树的概念。对于二叉搜索树,我们知道它可以降低查找速率,但是如果一个二叉搜索树退化成一棵只剩单支的搜索树,此时的查找速率就相当于顺序表中查找元素,效率变低,时间复杂度由原来的O(logN)变为O(N)。 此时就有了AVL(高度平衡二叉搜索树) ...
分类:
其他好文 时间:
2016-08-19 20:43:58
阅读次数:
217