天翼云数据结构知识文档专栏是天翼云为开发者提供的互联网技术内容平台。内容涵盖数据结构相关内容资讯。开发者在数据结构专栏是可以快速获取到自己感兴趣的技术内容,与其他开发者们学习交流,共同成长。
表达式(a-(b+c))*(d/e)存储在如下图所示的一棵以二叉链表为存储结构的二叉树中(二叉树结点的data域为字符型),编写程序求出该表达式的值(表达式中的操作数都是一位的整数)。
考研数据结构之树(6.2)——如何根据前序、中序和后序遍历还原二叉树(C表示)
编写一个算法,检查一个程序中的花括号、方括号和圆括号是否配对,若全部配对,则返回1, 否则返回0.对于程序中出现的对单 引号或双引号内的字符不进行括号配对检查。
LeetCode之1431.拥有最多糖果的孩子
使用三元组表示法来表示稀疏矩阵。 三元组数据结构是一个长度为n,表内每个元素都有3个分量的线性表,其3个分量分别为行下标和列下标。
设计一个算法,将数组A[0, .... , n-1]中所有奇数移动到偶数之前,要求不另增存储空间,且时间复杂度为O(n)。
写一个函数,逆序打印单链表中的数据,假设指针L已经指向了单链表的开始结点。
将十进制数转换成其他进制的数。
考研数据结构之线性表(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来存储。设计一个算法将其逆置,要求不能建立新结点,只能通过表中已有结点的重新组合来完成。
考研数据结构之数组(5.6)——练习题之使用递归算法实现最大值、求和及平均值的计算(C表示)
编写一个函数,计算一个子串在一个主串中出现的次数,如果该子串不出现,则返回0.本题不考虑子串重叠,如:主串为aaaa,子串为aa,考虑子串重叠结果为2,不考虑子串重叠结果为1。
考研数据结构之数组(5.4)——使用十字链表法表示稀疏矩阵(C表示)
设A和B是两个顺序表,其元素按非递减的顺序排列。编写一个将A和B中所有元素结点组成一个新的从小到大的有序顺序表C的算法,要求所有重复元素只保留一个。
将关键字序列{7,8,30,11,18,9,14}散列存储到散列表中,散列表的存储空间是一个下标从0开始的一维数组,散列函数为H(key)=(key*3) Mod 7,处理冲突采用线性探测再散列法,要求装填因子为0.7.
有N个个位正整数存放在int型数组A[0, ... , N-1]中,N是己定义的常量且N<9,数組A[]的长度为N,另给一个int型变量i,要求只用上述変量(A[0]~A[N-1]与i, 这N+1个整型変量)写一个算法,找出这N个整数中的最小者,并且要求不能破坏数組A[中的数据。
编写一个函数,在一个有n个整数的顺序表A中找出最大值和最小值。
编写一个算法,将m(m≥2)个有序(从小到大)顺序表合并成个有序顺序表, 假设所有顺序表存储在一个m行maxSie (maxSize 足够大)列的二维数组lists[m][maxSize]中,要求把1~m-1行所在的顺序表合并在0行所在的顺序表中,各表的长度存储在数组lens[m]中,合并过程中不另设新的顺序表存储空间。
设有两个用有序链表表示的集合 A 和 B,设计一个算法,判断它们是否相等。
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-03-14 09:56:09
2023-02-24 08:14:11