天翼云数据结构知识文档专栏是天翼云为开发者提供的互联网技术内容平台。内容涵盖数据结构相关内容资讯。开发者在数据结构专栏是可以快速获取到自己感兴趣的技术内容,与其他开发者们学习交流,共同成长。
考研数据结构之数组(5.6)——练习题之使用递归算法实现最大值、求和及平均值的计算(C表示)
编写一个函数,计算一个子串在一个主串中出现的次数,如果该子串不出现,则返回0.本题不考虑子串重叠,如:主串为aaaa,子串为aa,考虑子串重叠结果为2,不考虑子串重叠结果为1。
设A= (an,a2, ..,. am)和B= (b, b2, .. b,)均为顺序表,A'和 B'分别是除去最大公共前缀后的子表。
考研数据结构之数组(5.4)——使用十字链表法表示稀疏矩阵(C表示)
编写一个算法,将m(m≥2)个有序(从小到大)顺序表合并成个有序顺序表, 假设所有顺序表存储在一个m行maxSie (maxSize 足够大)列的二维数组lists[m][maxSize]中,要求把1~m-1行所在的顺序表合并在0行所在的顺序表中,各表的长度存储在数组lens[m]中,合并过程中不另设新的顺序表存储空间。
编写一个函数,在一个有n个整数的顺序表A中找出最大值和最小值。
将关键字序列{7,8,30,11,18,9,14}散列存储到散列表中,散列表的存储空间是一个下标从0开始的一维数组,散列函数为H(key)=(key*3) Mod 7,处理冲突采用线性探测再散列法,要求装填因子为0.7.
设A和B是两个顺序表,其元素按非递减的顺序排列。编写一个将A和B中所有元素结点组成一个新的从小到大的有序顺序表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[中的数据。
设有两个用有序链表表示的集合 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的关键字的递归算法。
设 C = {a1, b1, a2, b2, ..., an, bn} 为线性表,采用带头结点的 hc 单链表存放,设计一个就地算法,将其拆分为两个线性表,使得 A = {a1, a2, ..., an},B = {bn, ..., b2, b1}。
假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并要求利用原来两个单链表的节点存放归并后的单链表。
给定某二叉树的前序遍历和中序遍历,且前序遍历和中序遍历当中无重复元素,请重建出该二叉树并返回它的头结点。
考研数据结构之查找(9.8)——练习题之使用散列函数H(k)= 3k mod 11并采用链地址法处理冲突并构造散列表及设计散列表的完整算法(C表示)
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