一、分析 队列是一种先进先出的线性表,它只允许在表的一端进行插入,而在另一端删除元素。允许插入的一端称为队尾,允许删除的一端称为队头。 循环队列是一种以顺序存储结构表示的队列,为了解决“假溢出”问题而将它设计成头尾相接的循环结构,它的基本操作如下: 1、初始化循环队列 2、销毁循环队列 3、清空循环 ...
分类:
编程语言 时间:
2019-05-04 00:30:09
阅读次数:
212
堆栈 顺序存储实现: 分析: 1、定义结构体:数组Data[MaxSize]存储数据;Top记录栈顶元素下标;MaxSize记录堆栈容量 2、创建:为栈申请内存;根据容量为数据申请内存;初始化Top 3、入栈、出栈:都在栈顶完成;入栈判满,出栈判空;入栈先加,出栈后减 链式存储实现: ...
分类:
其他好文 时间:
2019-05-04 00:25:27
阅读次数:
157
循环队列 一、顺序存储 分析: 1、定义结构:数据Data[];头尾结点Front、Rear;容量MaxSize 2、创建:为队列结构和数据申请空间,数据通过结构中的指针访问;头尾指针归零 3、插入删除:判断空满;尾入头出 4、注意是循环队列,空满判断条件要取余 ...
分类:
其他好文 时间:
2019-05-04 00:25:11
阅读次数:
109
1.线性表若采用链式存储结构的时候,要求内存中可用存储单位的地址是:连续或者不连续都可以 链式存储去找后继节点或者前驱节点是使用指针来实现的,不需要连续的内存,当然,也可以是连续的内存地址 2. 线性表具有如下的特点: 1.均匀性:虽然不同数据表的数据元素可以是各种各样的 但是对于同一个线性表的各元 ...
分类:
编程语言 时间:
2019-05-01 20:05:06
阅读次数:
187
题目条件:线性表顺序存储,且每个元素都是不相同的整数型元素 本题可采用快速排序的划分思想来设计算法,只需遍历一次即可,其时间复杂度为O(n) 空间复杂度为O(1) 基本思想是:先从前往后找到一个偶数元素,再从后往前找到一个奇数元素,将二者交换。 ...
分类:
移动开发 时间:
2019-04-30 19:55:34
阅读次数:
228
p-DS-126 1、顺序存储结构 1 2 3 4 5 6 7 一般二叉树12345 0000 67 在最坏的情况下,一个深度为k且只有k个结点的单支树(树中不存在度为2的结点)却需要长度为2^k-1的一维数组。 2、链式存储结构 ...
分类:
其他好文 时间:
2019-04-26 00:44:34
阅读次数:
168
线性表,栈,队列,(字符)串,数组,广义表,树,二叉树,图 数据结构的三个方面: 数据的逻辑结构 线性结构 线性表 栈 队列 串及数组 非线性结构 树形结构 图形结构 数据的存储结构 顺序存储 链式存储 索引存储 散列存储 数据的运算,检索,排序,插入,删除,修改等 ...
分类:
其他好文 时间:
2019-04-26 00:05:26
阅读次数:
135
二分查找 定义 二分查找(Binary Search)又称折半查找,它是一种效率较高的查找方法。 要求 (1)必须采用顺序存储结构 (2)必须按关键字大小有序排列 查找思路 首先将给定值K,与表中中间位置元素的关键字比较,若相等,返回该元素的存储位置;若不等,这所需查找的元素只能在中间数据以外的前半 ...
分类:
编程语言 时间:
2019-04-20 12:47:20
阅读次数:
220
上文讲了一些数据结构的基本概念,现在开始进入正题,今天学习最简单的线性表,线性表分为顺序存储结构和链式存储结构,本文讲顺序存储结构的线性表。 在C#的面向对象的世界中,我们一般都会对一个东西进行抽象,线性表的接口如下(只定义了一些最基本的操作,一些复杂的操作都是基于这些基本的操作组合实现的): 顺序 ...
串:是由零个或多个字符组成的有限序列;包含字符的个数称串的长度; 空串:长度为零的串称空串; 空白串:由一个或多个空格组成的串称空白串; 子串:串中任意个连续字符组成的子序列称该串的子串; 主串:包含子串的串称主串; 子串的首字符在主串中首次出现的位置定义为子串在主串中的位置; 空串是任意串的子串; ...
分类:
其他好文 时间:
2019-04-15 00:37:36
阅读次数:
160