天翼云数据结构知识文档专栏是天翼云为开发者提供的互联网技术内容平台。内容涵盖数据结构相关内容资讯。开发者在数据结构专栏是可以快速获取到自己感兴趣的技术内容,与其他开发者们学习交流,共同成长。
将十进制数转换成其他进制的数。
考研数据结构之线性表(1.4)——循环单链表的操作(C表示)
已知一个整数序列A=(ao, a, .. an-1), 其中0≤a<n (0≤i<n)。 若存在a(p1)=a(p2)=...=a(pm)=x且m>n/2 (0≤p(k)<n, 1≤k≤m), 则称x为A的主元素。例如,A= (0, 5, 5, 3, 5,7, 5,5),则5为主元素;又如,A= (0, 5,5,3,5,1,5,7),则A中没有主元素。假设A中的n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素:否则输出-1。
有一个线性表,采用带头结点的单链表L来存储。设计一个算法将其逆置,要求不能建立新结点,只能通过表中已有结点的重新组合来完成。
编写一个算法,将m(m≥2)个有序(从小到大)顺序表合并成个有序顺序表, 假设所有顺序表存储在一个m行maxSie (maxSize 足够大)列的二维数组lists[m][maxSize]中,要求把1~m-1行所在的顺序表合并在0行所在的顺序表中,各表的长度存储在数组lens[m]中,合并过程中不另设新的顺序表存储空间。
考研数据结构之数组(5.6)——练习题之使用递归算法实现最大值、求和及平均值的计算(C表示)
编写一个函数,计算一个子串在一个主串中出现的次数,如果该子串不出现,则返回0.本题不考虑子串重叠,如:主串为aaaa,子串为aa,考虑子串重叠结果为2,不考虑子串重叠结果为1。
考研数据结构之数组(5.4)——使用十字链表法表示稀疏矩阵(C表示)
已知L为不带表头结点的单链表的表头指针(L非空),链表中存储的都是整型数据,写出实现下列运算的递归算法。
有N个个位正整数存放在int型数组A[0, ... , N-1]中,N是己定义的常量且N<9,数組A[]的长度为N,另给一个int型变量i,要求只用上述変量(A[0]~A[N-1]与i, 这N+1个整型変量)写一个算法,找出这N个整数中的最小者,并且要求不能破坏数組A[中的数据。
将关键字序列{7,8,30,11,18,9,14}散列存储到散列表中,散列表的存储空间是一个下标从0开始的一维数组,散列函数为H(key)=(key*3) Mod 7,处理冲突采用线性探测再散列法,要求装填因子为0.7.
编写一个函数,在一个有n个整数的顺序表A中找出最大值和最小值。
设A= (an,a2, ..,. am)和B= (b, b2, .. b,)均为顺序表,A'和 B'分别是除去最大公共前缀后的子表。
设A和B是两个顺序表,其元素按非递减的顺序排列。编写一个将A和B中所有元素结点组成一个新的从小到大的有序顺序表C的算法,要求所有重复元素只保留一个。
设有两个用有序链表表示的集合 A 和 B,设计一个算法,判断它们是否相等。
编写一个函数,利用二分查找算法在一个有序表中插入一个关键字k,并保持表的有序性。
有一个递增非空单链表,设计一个算法删除值域重复的节点。例如,{1, 1, 2, 3, 3, 3, 4, 4, 7, 7, 7, 9, 9, 9} 经过删除后变成 {1, 2, 3, 4, 7, 9}。
从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。
构造串的链表结点数据结构(每个结点内存储一个字符),编写一个函数,找出串 str1 中第一个不在串 str2 中出现的字符。
给出在一个递增有序表A中采用二分查找算法查找值为k的关键字的递归算法。
2023-05-15 10:00:33
2023-03-21 10:32:27
2023-03-22 09:34:26
2023-02-24 09:05:57
2023-05-23 09:26:42
2023-06-07 07:30:58