Location:
Search - 链表的有序线性表
Search list
Description: /*1.在一个非递减有序线性表中,插入一个值为x的元素,使插入后的线性表仍为非递减有序.
分别用向量(顺序存储)和单链表实现.*/
/*2.写一算法将值为B的结点插在链表中值为a的结点之后。如果值为a的结点不存在,则插在表尾.*/
/*3.试用循环链表为存储结构,写一个约瑟夫(Josephu)问题的算法。
约瑟夫问题是:有N个人围成一圈,由第i个人开始从1报数,数到m时,此人就出列。
下一个人重新从1开始报数,再数到m时,又一个人出列。直到所有的人全部出列。
按出列的先后得到一个新的序列。例如,N=5,i=1,m=3 时新的序列应为:3,1,5,2,4。*/
Platform: |
Size: 3057 |
Author: 李海特 |
Hits:
Description: 1)创建任意字符型有序(递增排序)单循环链表(即链表的字符元素随机在键盘上输入),长度限定在15之内;
2)打印(遍历)该链表(依次打印出表中元素值);
3)在链表中查找第i个元素,i合法返回元素值,否则,返回FALSE;
4)在链表中查找与一已知字符相同的第一个结点,有则返回TRUE,否则,返回FALSE;
5)在链表中按照有序方式插入一已知字符元素;
6)在线性表中删除第i个结点;
7)计算链表的长度
Platform: |
Size: 77730 |
Author: 滨 |
Hits:
Description: 有序线性表的元素是按值从大到小顺序排列的。本题要求用带表头节点的单链表实现有序线性表用户界面要求设计为菜单方式。程序运行后,显示如下功能菜单;
1 置表空
2插入
3删除
4查找
5输入
0退出
用户没键入一个选择数字,程序就执行相应的功能并再次显示菜单,直至末次用户选择了“0”退出为止
Platform: |
Size: 4620 |
Author: 735338750@qq.com |
Hits:
Description: 数据结构(C#语言版) 计算机程序语言书:
目 录
第1章 绪论 1
1.1 数据结构 1
1.1.1 学习数据结构的必要性 1
1.1.2 基本概念和术语 2
1.2 算法 7
1.2.1 算法的特性 7
1.2.2 算法的评价标准 8
1.2.3 算法的时间复杂度 9
1.3 数学预备知识 11
1.3.1 集合 11
1.3.2 常用的数学术语 11
1.3.3 对数 12
1.3.4 递归 12
1.4 C预备知识 13
1.4.1 指针 13
1.4.2 结构体 14
1.5 C#预备知识 15
1.5.1 接口 15
1.5.2 泛型编程 19
本章小结 24
习题 25
第2章 线性表 27
2.1 线性表的逻辑结构 27
2.1.1 线性表的定义 27
2.1.2 线性表的基本操作 28
2.2 顺序表 30
2.2.1 顺序表的定义 30
2.2.2 顺序表数据关系的语言描述 31
2.2.3 顺序表数据操作的语言描述 32
2.2.4 顺序表应用举例 42
2.3 单链表 46
2.3.1 单链表的定义 47
2.3.2 单链表数据关系的语言描述 48
2.3.3 单链表数据操作的语言描述 50
2.3.4 单链表应用举例 65
2.4 其他链表 73
2.4.1 双向链表 73
2.4.2 循环链表 76
本章小结 76
习题 77
第3章 栈和队列 78
3.1 栈 78
3.1.1 栈的定义及基本运算 78
3.1.2 顺序栈的存储和运算实现 80
3.1.3 链栈的存储和运算实现 85
3.1.4 栈的应用举例 90
3.2 队列 96
3.2.1 队列的定义及基本运算 96
3.2.2 循环顺序队列的存储和运算
实现 98
3.2.3 链队列的存储和运算实现 106
3.2.4 队列的应用举例 111
本章小结 113
习题 113
第4章 串和数组 115
4.1 串 115
4.1.1 串的基本概念及基本运算 115
4.1.2 串存储及基本运算实现 116
4.1.3 串的基本操作的实现 120
4.1.4 模式匹配 125
4.2 数组 131
4.2.1 数组的逻辑结构 131
4.2.2 数组的内存映像 132
本章小结 133
习题 133
第5章 树和二叉树 134
5.1 树 134
5.1.1 树的定义 134
5.1.2 树的相关术语 135
5.1.3 树的逻辑表示 136
5.1.4 树的基本操作 137
5.2 二叉树 138
5.2.1 二叉树的定义 138
5.2.2 二叉树的性质 139
5.2.3 二叉树的存储结构 141
5.2.4 二叉链表存储结构的语言
描述 143
5.2.5 二叉树的遍历 146
5.2.6 线索二叉树 150
5.3 树与森林 153
5.3.1 树的存储 153
5.3.2 树、森林与二叉树的转换 157
5.3.3 树和森林的遍历 160
5.4 哈夫曼树 160
5.4.1 哈夫曼树的基本概念 160
5.4.2 哈夫曼树的实现 162
5.4.3 哈夫曼编码 166
5.5 二叉树的应用举例 167
本章小结 171
习题 172
第6章 图 174
6.1 图的基本概念 174
6.1.1 图的定义 174
6.1.2 图的基本术语 175
6.1.3 图的基本操作 178
6.2 图的存储结构 179
6.2.1 邻接矩阵 179
6.2.2 邻接表 187
6.3 图的遍历 199
6.3.1 深度优先遍历 199
6.3.2 广度优先遍历 202
6.4 图的应用 205
6.4.1 最小生成树 205
6.4.2 最短路径 210
6.4.3 拓扑排序 216
本章小结 218
习题 219
第7章 排序 221
7.1 基本概念 221
7.2 简单排序方法 222
7.2.1 直接插入排序 222
7.2.2 冒泡排序 225
7.2.3 简单选择排序 226
7.3 快速排序 229
7.4 堆排序 233
7.5 希尔排序 240
7.6 表插入排序 242
7.7 归并排序 247
7.8 树型选择排序 251
7.9 基数排序 252
7.9.1 多关键码排序 252
7.9.2 链式基数排序 253
7.10 各种排序方法的比较与讨论 255
本章小结 256
习题 257
第8章 查找 259
8.1 基本概念和术语 259
8.2 静态查找表 259
8.2.1 顺序查找 260
8.2.2 有序表的折半查找 261
8.2.3 索引查找 265
8.3 动态查找表 266
8.3.1 二叉排序树 266
8.3.2 平衡二叉树 276
8.3.3 B-树和B+树 278
8.4 哈希表 285
8.4.1 哈希表的基本概念 286
8.4.2 常用的哈希函数构造方法 286
8.4.3 处理冲突的方法 288
Platform: |
Size: 1345925 |
Author: lovevicky |
Hits:
Description: 1. 基于链表实现线性表的以下基本操作:
interface ILinarList<T>
{
void InsertNode(T a); //在表末尾插入元素
void InsertNode(T a, int i); //在指定的位置i插入元素
void DeleteNode(int i); //删除操作
T SearchNode(int i); //查找表元素
int SearchNode(T value); //定位元素
int GetLength(); //求表长度
void Clear(); //清空操作
bool IsEmpty(); //判断线性表是否为空
void Print(); //按位序打印线性表中的元素
void reverse(); //线性表元素就地逆置
}
2. 基于单链表实现线性表的以下综合应用:
a) 利用基本操作编写以下算法
i. 删除第i个开始的k个元素。
ii. 删除递增有序单链表中所有值大于mink且小于maxk的元素。
b) 将x插入到单链表的适当位置上,以保持单链表中元素的有序性。
c) 将两个单链表合并为一个单链表。
d) 若两个元素按值递增有序排列的单链表A和B,且同一表中的元素值各不相同。试构造一个单链表C,其元素为A和B中元素的交集,且表C中的元素也按值递增有序排列。要求利用原有链表中的元素。
Platform: |
Size: 237320 |
Author: 1115401742@qq.cm |
Hits:
Description: /*1.在一个非递减有序线性表中,插入一个值为x的元素,使插入后的线性表仍为非递减有序.
分别用向量(顺序存储)和单链表实现.*/
/*2.写一算法将值为B的结点插在链表中值为a的结点之后。如果值为a的结点不存在,则插在表尾.*/
/*3.试用循环链表为存储结构,写一个约瑟夫(Josephu)问题的算法。
约瑟夫问题是:有N个人围成一圈,由第i个人开始从1报数,数到m时,此人就出列。
下一个人重新从1开始报数,再数到m时,又一个人出列。直到所有的人全部出列。
按出列的先后得到一个新的序列。例如,N=5,i=1,m=3 时新的序列应为:3,1,5,2,4。*/
-err
Platform: |
Size: 3072 |
Author: 李海特 |
Hits:
Description: 1)创建任意字符型有序(递增排序)单循环链表(即链表的字符元素随机在键盘上输入),长度限定在15之内;
2)打印(遍历)该链表(依次打印出表中元素值);
3)在链表中查找第i个元素,i合法返回元素值,否则,返回FALSE;
4)在链表中查找与一已知字符相同的第一个结点,有则返回TRUE,否则,返回FALSE;
5)在链表中按照有序方式插入一已知字符元素;
6)在线性表中删除第i个结点;
7)计算链表的长度
-1) the creation of any character in an orderly manner (increasing order) the single round-robin list (that is, elements of random list of characters in keyboard input), the length limit of 15 2) Print (traverse) the list (followed by print the table element values) 3) in the list to find the first i elements, i legitimate return element value, otherwise return FALSE 4) in the list to find the same characters with a known first node, a then return TRUE, otherwise return FALSE 5) in the list in an orderly manner in accordance with the insertion of a known character elements 6) line of the table to delete the first i nodes 7) calculated the length of list
Platform: |
Size: 603136 |
Author: 滨 |
Hits:
Description: )创建任意字符型有序(递增排序)单循环链表(即链表的字符元素随机在键盘上输入),长度限定在15之内;
2)打印(遍历)该链表(依次打印出表中元素值);
3)在链表中查找第i个元素,i合法返回元素值,否则,返回FALSE;
4)在链表中查找与一已知字符相同的第一个结点,有则返回TRUE,否则,返回FALSE;
5)在链表中按照有序方式插入一已知字符元素;
6)在线性表中删除第i个结点;
7)计算链表的长度。
-) To create any character and orderly (Sort Ascending) monocyclic list (that is, elements of random list of characters on your keyboard input), the length limit of 15 2) Print (traverse) the list (followed by print table of elements in value) 3) in the list to find the first i elements, i legitimate return element values, or else return FALSE 4) in the list to find the same with a known characters of the first node, I would return TRUE, otherwise, return FALSE 5) in the list in an orderly manner in accordance with the insertion of a known character elements 6) line of the table to delete the first i nodes 7) calculated the length of list.
Platform: |
Size: 6144 |
Author: sad |
Hits:
Description: 对以链式存储结构存储的线性表,进行操作运算。要求用菜单选择操作方式完成下列功能。
建立单链表(尾插入,带头结点)
有序链表插入
逆置单链表
两链表合并并排序
算法输入:操作要求、结点信息(可取整型)。
算法输出:操作结果。-Store chain in the structure of the linear form storage, computing operation. Menu to select the requested operation with the following features. The establishment of a single list (end of insert, the lead node) list in an orderly home, single chain inserted reverse merger of the two and list sorting algorithm input: operational requirements, node information (desirable integer). Algorithm output: the results of operations.
Platform: |
Size: 1024 |
Author: 柏德胜 |
Hits:
Description: 分别用顺序表和单链表作为存储结构,完成:(1)实现线性表(a0, a1, a2, a3, …,an-1)就地逆置的操作。(2)实现将x插入一个递增有序表L中,并使L仍是一个有序表。(3)实现统计在一个输入字符串中各个不同字符出现的频度。 -Were used to sequence the table and a single list as the storage structure, completed: (1) to achieve a linear form (a0, a1, a2, a3, ..., an-1) in situ reverse set operation. (2) to achieve an x into a list L in increasing order and make an ordered list L remains. (3) The realization of statistics in an input string of different characters in the frequency of emergence.
Platform: |
Size: 3245056 |
Author: lypan |
Hits:
Description: 利用顺序存储结构实现线性表的合并,有序链表的合并-The use of storage structure in order to achieve a linear form merger, the combined ordered list
Platform: |
Size: 2048 |
Author: william |
Hits:
Description: 1.建立两个有序得链表(带表头,用头插法);
//2.写一算法在单链表上实现线性表的ListLength(L)运算。
写一算法将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同。
-1. The establishment of two ordered lists too (with header, with the first interpolation) // 2. To write a method to achieve a single linked linear form of ListLength (L) operations. Write an algorithm to list the value of a single node to delete the duplicate, so the results in the table are not the same as the value of each node.
Platform: |
Size: 1024 |
Author: 秦天 |
Hits:
Description: 已知按值递增有序排练的两个线性表A和B,且每个线性表内部各元素互不相同。试构造线性表C,使其是A和B的交集,且其中的数字同样按值递增排列。
要求:
1)分别采用顺序表、单链表、双链表三种数据结构存储上述线性表A、B、C
2)编写一个通用的程序(无论线性表A、B和C采用顺序表、单链表还是双链表存储,该程序完全通用),实现对线性表C的构造-Known to increase the value ordered by the two linear tables A rehearsal and B, and each of the elements within the linear table from each other. Linear table test structure C, it is the intersection of A and B, and the same number of them increasing order by value. Requirements: 1) were used to order table, a single list, double-linked list data structure stored in the linear three tables A, B, C 2) write a generic program (either the linear form A, B and C using the order form, a single list, or double-linked list storage, the program is completely general), to achieve the construction of the linear form C
Platform: |
Size: 1024 |
Author: 闫 |
Hits:
Description: 用C/C++语言建立两个带表头结点的有序线性单链表( La, Lb )的合并操作,并按原来的相反顺序生成新的逆序线性表Lc,具体要求如下:
La,Lb数据自己给出,合并后不得破坏原La,Lb数据及链表结构
La,Lb中若有相同的元素,则在Lc中只保留其中的一个-With C/C++ language header to establish two nodes with the orderly linear single linked list (La, Lb) of the merged operations, according to the original reverse reverse order to generate a new linear form Lc, specific requirements are as follows: La, Lb data are given their own after the merger shall not destroy the original La, Lb list structure data and La, Lb of the same element if it is only retained in the Lc one
Platform: |
Size: 6144 |
Author: tracy |
Hits:
Description: 根据线性表的抽象数据类型的定义,选择下面任一种链式结构实现线性表, 并完成线性表的基本功能。 线性表存储结构(五选一): 1、 带头结点的单链表 2、 不带头结点的单链表 3、 循环链表 4、 双链表 5、 静态链表 线性表的基本功能: 1、构造:使用头插法、尾插法两种方法 2、插入:要求建立的链表按照关键字从小到大有序 3、删除 4、查找 5、获取链表长度 6、销毁 7、其他:可自行定义 编写测试main()函数测试线性表的正确性-According to the linear form of abstract data type definition, select a chain structure to achieve any of the following linear form, and complete the basic functions of the linear form. Linear table storage structure (five choose one): 1, the lead single linked list nodes 2, do not take the lead in a single linked list nodes 3, 4 circular list, double-linked list five basic functions of linear static list table: 1, Construction: Use Head interpolation method, two methods tail interpolation 2, insert: in accordance with the requirements established in the keyword list from small to large order 3, 4 deleted, find 5 to get the list length 6, 7 destroyed, other: You can define your own writing test main () function to test the accuracy of the linear form
Platform: |
Size: 2048 |
Author: 王霞 |
Hits:
Description: 根据线性表的抽象数据类型的定义,选择下面任一种链式结构实现线性表,并完成线性表的基本功能。
线性表存储结构(五选一):
1、 带头结点的单链表
2、 不带头结点的单链表
3、 循环链表
4、 双链表
5、 静态链表
线性表的基本功能:
1、 构造:使用头插法、尾插法两种方法
2、 插入:要求建立的链表按照关键字从小到大有序
3、 删除
4、 查找:按位置查找和按值查找
5、 获取链表长度
6、 销毁
编写测试main()函数测试线性表的正确性。
注意:异常处理捕捉字符串信息时,请使用catch(const char* s)的形式,否则会出现异常错误。-According to abstract data types defined linear form, any one of the chain structure to achieve the following linear form, and complete the basic functions of the linear form.
Linear table storage structure (V choose one):
1, the lead single list node
2, do not take the lead node single list
3, circular list
4, the doubly linked list
5, static chain
The basic function of the linear form:
1, Construction: interpolation method using head, tail interpolation of two ways
2, insert: requirements established by keyword list small to large order
3, delete
4. Find: Find by location and by value lookup
5. Get the list length
6, destruction
Write test main () function to test the correctness of the linear form.
Note: When exception processing captured string information, please use the catch (const char* s) form, there would be an exception error.
Platform: |
Size: 5232640 |
Author: Jimmy |
Hits:
Description: 双链表的创建。此双链表要求为带头节点的,为了算法方便特采用了循环双链表。通过编程发现带头节点的也有其不便之处。为了保持表的一直有序性思考如下: 1:表的一开始的创建就要有序。 2:插入元素后要做到仍然有序。 3:删除元素不会改变表的有序性 4:所谓有序,即为非降序或者非升序排列。 5:为了做到以上几点,考虑到链表的不易排序性质,特设置一个线性表作为输入缓存空间进行事先排序。关于排序的方法有多种,为了快速完成采用了较为简单的插入排序。-The data structure of double linked list and linked list code tria
Platform: |
Size: 231424 |
Author: 游游 |
Hits:
Description: 【简答题】
实验2 一元多项式的运算
问题描述
设Pn(x)和Qm(x)分别两个一元多项式。试编写程序实现一元多项式的加法运算。
基本要求
需要基于线性表的基本操作来实现一元多项式的加法运算
需要利用有序链表来实现线性表。(A brief answer to the question.
The operation of the 2 univariate polynomial in experiment
Problem description
Let Pn (x) and Qm (x) be two univariate polynomials, respectively. Try to write a program to realize the addition of a single polynomial.
Basic Requirements
The addition of one element polynomial based on the basic operation of linear table
An orderly chain list is needed to implement a linear table.)
Platform: |
Size: 1024 |
Author: secular
|
Hits:
Description: 设计题目:有序表合并
设计目的:1.掌握调试线性表的基本方法;
2.掌握线性表的一些基本操作;
3.加深理解线性表并进行实际应用;
设计内容:将两个有序链表合并为一个有序链表(Design topic: orderly table merge
Design objective: 1. master the basic method of debugging linear table.
2. master some basic operations of linear table;
3. to deepen the understanding of linear tables and to carry out practical applications.
Design content: combine two ordered lists into an ordered list)
Platform: |
Size: 49152 |
Author: 萱仔 |
Hits:
Description: 现有的两种非递减有序表LA,LB,合并为非递减有序表LC(There are two existing non decrement ordered table LA, LB, from which all data are obtained by non decrement ordered table LC)
Platform: |
Size: 11998208 |
Author: enmmmmm |
Hits: