网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
52、从栈顶指针为 top 的链栈中删除一个结点,用 x 保存被删除结点
的值,则执行( x=top->data; top=top->next)。
53、设 S=“I_ am_ a_ teacther” ,其长度为( 15)。
54、对于栈和队列,无论它们采用顺序存储结构还是链接存储结构,进行插入和删除操作的时间复杂度都是(O (1) )。
55、数组通常只有两种运算:(存取 )和(修改 ),这决定了数组通常采用 ( 顺序存储)结构来实现存储。
【分析】数组是一个具有固定格式和数量的数据集合, 在数组上一般
不能做插入、删除元素的操作。除了初始化和销毁之外,在数组中通常只有存取和修改两种操作。
56、二维数组 A中行下标从 10 到 20,列下标从 5 到 10,按行优先存储,每个元素占 4 个存储单元, A[10][5]的存储地址是 1000,则元素 A[15][10] 的存储地址是( 1140)。
【分析】数组 A中每行共有 6 个元素,元素 A[15][10] 的前面共存储了(15-10) ×6+5个元素,每个元素占 4
个存储单元,所以,其存储地址是 1000+140=1140。
57、设有一个 10 阶的对称矩阵 A采用压缩存储, A[0][0] 为第一个元
素,其存储地址为 d,每个元素占 1 个存储单元,则元素 A[8][5] 的存储地址为( d+41 )。
【分析】元素 A[8][5] 的前面共存储了 (1+2+, +8)+5=41 个元素。
58、稀疏矩阵一般压缩存储方法有两种,分别是(三元组顺序表 )和( 十字链表)。
59、 广义表 ((a), (((b),c)),(d)) 的长度是(3 ),深度是( 4),表头是((a) ),表尾是(((((b),c)),(d)) )。
60、已知广义表 LS=(a,(b,c,d) ,e) ,用 Head和 Tail 函数取出 LS
中原子 b 的运算是(Head(Head(Tail(LS))) )。
61、将数组称为随机存取结构是因为( 对数组任一元素的存取时间是相等的)
62、对特殊矩阵采用压缩存储的目的主要是为了(减少不必要的存储空间 )
【分析】在特殊矩阵中,有很多值相同的元素并且他们的分布有规律,没有必要为值相同的元素重复存储。
63、树是 n(n≥0)结点的有限集合,在一棵非空树中,有(有且仅有一个 )个根结点,其余的结点分成 m(m>0)个(互不相交 )的集合,每个集合都是根结点的子树。
64、 树中某结点的子树的个数称为该结点的( 度),子树的根结点称为
该结点的(孩子 ),该结点称为其子树根结点的(双亲 )。
65、 一棵二叉树的第 i(i ≥1)层最多有( ** 2i-1**)个结点;一棵有 n(n>0)个结点的满二叉树共有((n+1)/2 )个叶子结点和((n-1)/2 )个非终端结点。
【分析】设满二叉树中叶子结点的个数为 n0,度为 2 的结点个数为
n2,由于满二叉树中不存在度为 1 的
结点,所以 n=n0+n2;由二叉树的性质 n0=n2+1,得 n0=(n+1)/2 ,
n2=(n-1)/2 。
66、 设高度为 h 的二叉树上只有度为 0 和度为 2 的结点,该二叉树的
结点数可能达到的最大值是( 2h -1 ),最小值是( 2h -1 )。
【分析】最小结点个数的情况是第 1 层有 1 个结点,其他层上都只有
2 个结点。
67、深度为 k 的二叉树中,所含叶子的个数最多为( 2k-1)。
【分析】在满二叉树中叶子结点的个数达到最多。
68、 具有 100 个结点的完全二叉树的叶子结点数为( 50)。
【分析】 100 个结点的完全二叉树中最后一个结点的编号为 100,其
双亲即最后一个分支结点的编号为 50,也就是说,从编号 51 开始均为叶子。
69、 已知一棵度为 3 的树有 2 个度为 1 的结点, 3 个度为 2 的结点, 4
个度为 3 的结点。则该树中有( 12)个叶子结点。
【分析】根据二叉树性质 3 的证明过程,有 n0=n2+2n3+1(n0、n2、
n3 分别为叶子结点、度为 2 的结点和度为 3 的结点的个数)。
70、某二叉树的前序遍历序列是 ABCDEFG ,中序遍历序列是 CBDAFGE ,则其后序遍历序列是(CDBGFEA )。
【分析】根据前序遍历序列和后序遍历序列将该二叉树构造出来。
71、在具有 n 个结点的二叉链表中,共有(2n )个指针域,其中( n-1)
个指针域用于指向其左右孩子,剩下的(n+1 )个指针域则是空的。
72、在有 n 个叶子的哈夫曼树中,叶子结点总数为( n),分支结
点总数为(n-1 )。
【分析】 n-1 个分支结点是经过 n-1 次合并后得到的。
73、对任何一棵二叉树 T,如果其终端结点的个数为 n0,度为 2 的结
点个数为 n2,则(n0=n2+1 )。
A n0=n2-1 B n0=n2 C n0=n2+1 D 没有规律
74、一棵满二叉树中共有 n 个结点,其中有 m个叶子结点,深度为 h,
则( n=2h-1)。
75、对于完全二叉树中的任一结点,若其右分支下的子孙的最大层次
为 h,则其左分支下的子孙的最大层次为(**h 或 h+1 ** )。
76、线索二叉树中,一个结点是叶子结点的充要条件为(**左、右线索标志均为 0 ** )。
77、对于一棵具有 n 个结点的树,其所有结点的度之和为(** n-1** )。
78、设无向图 G中顶点数为 n,则图 G至少有( )条边,至多有(0 )
条边;若 G为有向图,则至少有( n(n-1)/2)条边,至多有(n(n-1) )条边。
【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到
最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。
79、任何连通图的连通分量只有一个,即是( 其自身)。
80、图的存储结构主要有两种,分别是(邻接矩阵 )和( 邻接表)。
【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多
重表、边集数组等。
81、已知无向图 G的顶点数为 n,边数为 e,其邻接表表示的空间复杂
度为(O (n+e) )。
【分析】在无向图的邻接表中,顶点表有 n 个结点,边表有 2e 个结
点,共有 n+2e个结点,其空间复杂度
为O(n+2e)= O(n+e) 。
82、 已知一个有向图的邻接矩阵表示,计算第 j 个顶点的入度的方法
是( 求第 j 列的所有元素之和)。
83、有向图 G用邻接矩阵 A[n][n] 存储,其第 i 行的所有元素之和等
于顶点 i 的(出度 )。
84、 图的深度优先遍历类似于树的(前序 )遍历,它所用到的数据结构是( 栈);图的广度优先遍历类似于树的(层序 )遍历,它所用到的数据结构是(队列 )。
85、 对于含有 n 个顶点 e 条边的连通图,利用 Prim 算法求最小生成树
的时间复杂度为(O (n2) ),利用 Kruskal算法求最小生成树的时间复杂度为(O(elog2e) )。
86、如果一个有向图不存在( 回路),则该图的全部顶点可以排列成一个拓扑序列。
87、n 个顶点的强连通图至少有(n )条边,其形状是( 环状)
88、n 个顶点的连通图用邻接矩阵表示时,该矩阵至少有(2(n-1) )个非零
元素。
89、键路径是 AOE网中( 从源点到终点的最长路径)。
90、 顺序查找技术适合于存储结构为( 顺序存储和链接存储)的线性表,而折半查找技术适用于存储结构为( 顺序存储)的线性表,并且表中的元素必须是( 按关键码有序)。
91、设有一个已按各元素值排好序的线性表,长度为 125,用折半查
找与给定值相等的元素,若查找成功,则至少需要比较(1 )次,至多需比较( 7)次。
92、对于数列 {25,30,8,5,1,27,24,10,20,21,9,28,7,
13,15},假定每个结点的查找概率相同,若用顺序存储结构组织该数列, 则查找一个数的平均比较次数为( 8)。若按二叉排序树组织该数列,则查找一个数的平均比较次数为( 59/15)。
93、在散列技术中,处理冲突的两种主要方法是(开放定址法 )和( 拉链法)。
94、 在各种查找方法中,平均查找长度与结点个数无关的查找方法是
( 散列查找)
【分析】散列表的平均查找长度是装填因子的函数, 而不是记录个数n 的函数
95、排序的主要目的是为了以后对已排序的数据元素进行( 查找)。
96、 对 n 个元素进行起泡排序,在(正序 )情况下比较的次数最少,其比较次数为( n-1)。在( 反序)情况下比较次数最多,其比较次数为( n(n-1)/2 )。
97、 对一组记录( 54, 38, 96, 23, 15, 72, 60, 45, 83 )进行直接
插入排序,当把第 7 个记录 60 插入到有序表时,为寻找插入位置需比较( 3)次。
【分析】当把第 7 个记录 60 插入到有序表时,该有序表中有 2 个记
录大于 60。
98、对一组记录( 54, 38, 96, 23, 15, 72, 60, 45, 83 )进行快速
排序,在递归调用中使用的栈所能达到的最大深度为( 3)。
99、 对 n 个待排序记录序列进行快速排序, 所需要的最好时间是 (O(nlog2n) ),
最坏时间是(O(n2) )。
100、对于键值序列( 12,13,11,18,60,15,7,18,25,100),用筛选法建堆,必须从键值为(60 )
【分析】 60 是该键值序列对应的完全二叉树中最后一个分支结点。
101、对初始状态为递增有序的序列进行排序,最省时间的是(** 插入排序** ),最费时间的是(快速排序 )。已知待排序序列中每个元素距其最终位置不远,则采用(直接选择排序 )方法最节省时间。
102、堆的形状是一棵(** 完全二叉树** )。
103、当待排序序列基本有序或个数较小的情况下,最佳的内部排序方法是(直接插入排序 ),就平均时间而言,(** 快速排序** )最佳。
104、设有 5000 个元素,希望用最快的速度挑选出前 10 个最大的,采用( 堆排序)方法最好。
105、(选择排序 )方法是从未排序序列中挑选元素,并将其放入已排序序列的一端。
106、在索引表中,每个索引项至少包含( 关键码)和(关键码对应的记录在存储器中的位置 )等信息
107、在线性索引中,(若文件中的每个记录对应一个索引项 )称为稠密索引
108、分块有序是指将文件划分为若干块, ( 块内)无序,( 块间)有序。
109、 在分块查找方法中,首先查找(索引表 ),然后查找相应的( 块)。
110、 对于包含 n 个关键码的 m阶 B—树,其最小高度是( ** [logm(n+1)] ),最大高度是( ** [logm/2(n+1)/2])。
111、在一棵高度为 h 的 B—树中,叶子结点处于第(** h+1** )层,当向该 B
—树中插入一个新关键码时,为查找插入位置需读取( ** h**)个结点。
112、在索引顺序表中,首先查找(索引表 ),然后再查找相应的( 块),其平均查找长度等于(查找索引表的平均长度与检索相应块的平均查找长度的和 )。
113、既希望较快的查找又便于线性表动态变化的查找方法是(索引顺序查找 )。
114、当向 B—树中插入关键码时,可能引起结点的(分裂 ),最终可能导致整个 B-树的高度( 增加1),当从 B—树中删除关键码时,可能引起结点(合并 ),最终可能导致整个 B—树的高度(减少 1 )。
115、数据结构的三个方面:数据的 逻辑结构、物理结构、 运算。
116、在 循环 链表中,从任何一结点出发都能访问到表中的所有结点。
117、每个结点只有 一个 链接域的链表叫做单链表。
118、线性表有两种存储结构:一是顺序表,二是链表。
119、对于栈操作数据的原则是(后进先出 )。
120、、
121、设输入序列为 A,B,C,D, 借助一个栈不可以得到的输出序列是 (D,A,B,C ) 。
122、因此在初始为空的队列中插入元素 a,b,c,d 以后,紧接着作了两次删除操作,此时的队尾元素是 (d ).
123、一般情况下,将递归算法转换成等价的非递归算法应该设置(堆栈)
124、设 abcdef 以所给的次序进栈,若在进栈操作时,允许退栈操作 , 则下面得不到的序列为( cabdef )。
125、因此在初始为空的队列中插入元素 a,b,c,d 以后,紧接着作了两次删除操作,此时的队尾元素是(d ) 。
126、栈和队列的主要区别在于(插入删除运算的限定不一样)
127、链栈和顺序栈相比,有一个较明显的优点是 ( 通常不会出现栈满的情况 ) 。
128、设一个栈的输入序列是 1 ,2,3,4,5, 则下列序列中,是栈的合法输出序列的是( 3 2 1 5 4 )。
129、单链表表示的链式队列的队头在链表的什么位置(链头 )。
130、 链栈和顺序栈相比,有一个较明显的优点是 ( 通常不会出现栈满的情况 )
131、设长度为 n 的链队列用单循环链表表示,若只设头指针,则入队操作的时间复杂度为 (O(n) ) 。
132、设有三个元素 X,Y,Z 顺序进栈(进的过程中允许出栈) ,下列得不到的出栈排列是 (ZXY ) 。
133、栈的插入和删除操作进行的位置在(栈顶)
134、链栈和顺序栈相比,有一个较明显的优点是 ( 通常不会出现栈满的情况 ) 。
135、循环队列的引入,目的是为了克服 假溢出
136、队列中允许进行插入的一端称为队尾。
137、 栈和队列的共同特点是插入和删除均在端点处进行。
138、一个栈的输入序列是: 1,2,3 则不可能的栈输出序列是 3 1 2 。
139、设有一个顺序栈 S,元素 S1,S2,S3,S4,S5,S6 依次进栈,如果 6 个元素的出栈顺序为 S2,S3,S4,S6,S5,S1,则顺序栈的容量至少应为 3
140、一维数组 A采用顺序存储结构,每个元素占用 6 个字节,第 6 个元素的起始地址为 100,则该数组的首地址是( 70)。
141、稀疏矩阵一般采用的压缩存储方法为 (三元组表 ) 。
142、对稀疏矩阵进行压缩存储是为了(节省存储空间) 。
143、维数组 A[5][6] 的每个元素占 5 个单元,将其按行优先顺序存储在起始地址为 3000 的连续的内存单元中,则元素 A[4][5] 的存储地址为( 3145)。
144、具有 n 个结点的二叉树采用链接结构存储,链表中存放 NULL指针域的个数为( n+1)。
145、在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加( 2 )。
146、某二叉树的前序和后序序列正好相反,则该二叉树一定是什么二叉树 ( 高度等于其结点数 ) 。
147、 在非空二叉树的中序遍历序列中,二叉树的根结点的左边应该 ( 只有左子树上的所有结点 ) 。
148、若一棵二叉树具有 45 个度为 2 的结点, 6 个度为 1 的结点,则度为 0 的结点个数是( 46 )。
149、 某二叉树的前序和后序序列正好相同,则该二叉树一定是什么样的二叉树 ( 空或只有一个结点 ) 。
150、结点前序为 xyz 的不同二叉树,所具有的不同形态为 (5 ) 。
151、在一棵高度为 h( 假定树根结点的层号为 0) 的完全二叉树中,所含结点个数不小于
152、对于一棵满二叉树, m个树叶, n 个结点,深度为 h, 则
153、在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加( 2 )。
154、如果 T2 是由有序树 T 转换而来的二叉树,那么 T中结点的先根序列就是 T2 中结点的(先根序列) 。
155、对于一棵满二叉树, m个树叶, n 个结点,深度为 h, 则
156、深度为 h 且有多少个结点的二叉树称为满二叉树 是
157、某二叉树的前序和后序序列正好相反,则该二叉树一定是的二叉树为 (高度等于其结点数 ) 。
158、设高度为 h 的二叉树上只有度为 0 和度为 2 的结点,则此类二叉树中所包含的结点数至少为 (2h-1) 。
159、 在一棵具有 n 个结点的二叉树中,所有结点的空子树个数等于( n+1 )
160、 若一棵二叉树有 11 个度为 2 的结点,则该二叉树的叶结点的个数是( 12 )。
161、设森林 F 中有三棵树,第一、第二和第三棵的结点个数分别为 m1,m2和 m3,则森林 F 对应的二叉树根结
点上的右子树上结点个数是 ( m2+m3 ) 。
162、二叉树的第 I 层上最多含有结点数为(
163、 设高度为 h 的二叉树上只有度为 0 和度为 2 的结点,则此类二叉树中所包含的结点数至少为(2h-1 )。
有 n 个叶子的哈夫曼树的结点总数为( 2n-1 )。
164、如果 T2 是由有序树 T 转换而来的二叉树,那么 T 中结点的先根序列就是 T2 中结点的(先根序列 )。
165、若二叉树中度为 2 的结点有 15 个,度为 1 的结点有 10 个,则叶子结点的个数为( 16 )。
166、 若某完全二叉树的深度为 h,则该完全二叉树中具有的结点数至少是
167、任何一棵二叉树的叶结点在其先根、中根、后根遍历序列中的相对位置 ( 肯定不发生变化 ) 。
168、对于一棵满二叉树, m个树叶, n 个结点,深度为 h, 则(
169、 某二叉树的前序和后序序列正好相同,则该二叉树一定是什么样的二叉树 ( 空或只有一个结点 ) 。
170、 在一棵具有 n 个结点的二叉树中,所有结点的空子树个数等于( n+1 )。
171、树中所有结点的度等于所有结点数加( -1 )。
172、设二叉树根结点的层次为 0,一棵高度为 h 的满二叉树中的结点个数是 (
173、设森林 F 中有三棵树,第一、第二和第三棵的结点个数分别为 m1,m2和 m3,则森林 F 对应的二叉树根结点上的右子树上结点个数是 (m2+m3 )
174、用孩子兄弟链表表示一棵树, 若要找到结点 x 的第 5 个孩子, 只要先找到 x 的第一个孩子, 然后 ( 从兄弟域指针连续扫描 4 个结点即可 ) 。
175、深度为 h 的满二叉树具有的结点个数为(
176、在一棵高度为 h( 假定树根结点的层号为 0) 的完全二叉树中,所含结点个数不小于
177、有 n 个叶子的哈夫曼树的结点总数为( 2n-1 )。
178、若在一棵非空树中,某结点 A 有 3 个兄弟结点(包括 A自身),B是 A的双亲结点,则 B 的度为( 3)。
179、深度为 h 的满二叉树所具有的结点个数是(
180、按照二叉树的定义 , 具有 3 个结点的二叉树有多少种 (5 ) 。
181、树形结构的特点是:一个结点可以有 ( 多个直接后继 ) 。
182、若一棵二叉树具有 20 个度为 2 的结点, 6 个度为 1 的结点,则度为 0 的结点个数是( 21 )。
183、一棵线索二叉树的线索个数比链接个数多( 2 )个。
184、某二叉树的前序和后序序列正好相同,则该二叉树一定是的二叉树为 ( 空或只有一个结点 ) 。
185、设树 T 的度为 4,其中度为 1,2,3 和 4 的结点个数分别为 4,2,1,1 则 T 中的叶子数为 ( 8 )。
186、若一棵二叉树有 10 个叶结点,则该二叉树中度为 2 的结点个数为 9 。
187、 深度为 h 且有 2h -1 个结点的二叉树称为满二叉树。( 设根结点处在第 1 层) 。
188、 哈夫曼树是带权路径长度最小 的二叉树。
189、二叉树的存储结构有顺序存储结构和链式存储结构。
190、般树的存储结构有双亲表示法、孩子兄弟表示法和孩子链表表示法。
191、 具有 100 个结点的完全二叉树的叶子结点数为 50 。
191、二叉树的遍历方式有三种:先序遍历、中序遍历、后序遍历。
192、若一棵二叉树有 15 个叶结点,则该二叉树中度为 2 的结的点个数为 14。
193、在一个无向图中,所有顶点的度数之和等于所有边数( 2 )倍。
194、用邻接表表示图进行深度优先遍历时,通常用来实现算法的辅助结构是 ( 栈 ) 。
195、具有 n 个顶点的有向图最多可包含的有向边的条数是 (n(n-1) ) 。
196、 任何一个无向连通图的最小生成树 ( 有一棵或多棵 ) 。
197、有向图中,以顶点 v 为终点的边的数目,称为顶点 v 的(入度)。
198、 在一个有向图中,所有顶点的出度之和等于所有边数的倍数是( 1 )。
199、 有 n 个顶点的图采用邻接矩阵表示,则该矩阵的大小为( n*n )。
198、6 个顶点的无向图成为一个连通图至少应有边的条数是( 5 )。
199、无向图中,所有顶点的度数之和等于所有边数( 2)倍。
200、 在一个具有 n 个顶点的完全无向图的边数为 (n(n-1)/2 ) 。
201、在图形结构中,每个结点的前驱结点数和后续结点数可以有 (任意多个 ) 。
202、一个具有 n 个顶点 e 条边的无向图中,采用邻接表表示,则所有顶点的邻接表的结点总数为( 2e )。
203、一个具有 n 个顶点的图采用邻接矩阵表示,则该矩阵的大小为( n*n)。
204、用邻接表表示图进行深度优先遍历时,通常采用的辅助存储结构是 ( 栈) 。
205、在含 n 个顶点 e 条边的无向图的邻接矩阵中,零元素的个数为(
206、使具有 30 个顶点的无向图成为一个连通图至少应有边的条数是( 29)。
设无向图 G的顶点数为 n,则要使 G连通最少有 n-1 条边。
207、图的遍历是指从图中某一顶点出发访问图中全部顶点且使每一顶点仅被 访问一次。
208、设有 6000 个无序的元素 , 希望用最快的速度挑选出其中前 5 个最大的元素 , 最好选用 ( 堆排序 )法。
209、排序方法中,从未排序序列中挑选元素,将其放入已排序序列的一端的方法,称为 (选择排序 ) 。
210、排序方法中, 从未排序序列中依次取出元素与已排序序列中的元素进行比较, 将其放入已排序序列的正确位置上的方法,称为 ( 插入排序 ) 。
211、用冒泡排序法对序列 {18,16,14,12,10,8} 从小到大进行排序,需要进行的比较次数是 (15 ) 。
对于键值序列 {72,73,71,23,94,16,5,68,76,103} 用筛选法建堆,开始结点的键值必须为 (94 ) 。
212、 一组记录的关键字为 {45, 80, 55, 40, 42, 85} ,则利用堆排序的方法建立的初始堆为( 85, 80, 55,40, 42, 45 )。
213、若待排序对象序列在排序前已按其排序码递增顺序排序,则采用比较次数最少的方法是(直接插入排序)。
214、数据结构由数据的逻辑结构、存储结构和数据的 _运算 ___________三部分组成。
215、在单链表中某结点后插入一个新结点,需要修改 _______2________个结点指针域的值。
216、设栈 S的初始状态为空,若元素 a、b、c、 d、e、f 依次进栈,得到的出栈序列是 b、 d、c、f、e、a,则栈 S 的容量至少是 3__。
217、长度为零的串称为 ______空串 __________。
218、广义表 G=(a,b,(c,d,(e,f)),G)的长度为 4。
219、一棵树 T 采用孩子兄弟链表存储,如果树 T 中某个结点为叶子结点,则该结点在二叉链表中所对应的结点一定是______左右指针域均为空 __________。
220、一个有 n 个顶点的无向连通图,最少有 _____n-1___________条边。
221、当待排关键字序列基本有序时,快速排序、简单选择排序和直接插入排序三种排序方法中,运行效率最高的是_______直接插入排序 _________。
222、在一棵深度为 h 的具有 n个结点的二叉排序树中,查找任一结点的最多比较次数是 h__。
223、不定长文件指的是文件的 ______记录含有的信息长度 ______大小不固定。
224、下面程序段的时间复杂度为 0(n)___。
sum=1;
for(i=0;sum<n;i++ )
sum+=1;
225、已知链表结点定义如下:
typedef struct node{
char data[ 16];
struct node *next;
} LinkStrNode ;
如果每个字符占 1个字节,指针占 4个字节,则该链表的存储密度是 4/5(0.8)_。
226、.使用一个 100个元素的数组存储循环队列,如果采取少用一个元素空间的方法来区别循环队列的队空和队满,约定队头指针 front 等于队尾指针 rear时表示队空。若为 front=8 ,rear=7,则队列中的元素个数为 ___ 99________。
227、3个结点可以组成 _____ 5______种不同树型的二叉树。
228、用5个权值 {3, 2,4,5,1} 构造的哈夫曼 (Huffman) 树的带权路径长度是 ______33 _____。
229、若无向图 G中有 n个顶点 m条边,采用邻接矩阵存储,则该矩阵中非 0元素的个数为 ____ 2m_______。
230、影响排序效率的两个因素是关键字的 ___ 比较________次数和记录的移动次数。
231、对任一 m阶的 B树,每个结点中最多包含 __ m-1_________个关键字。
232、若两个关键字通过散列函数映射到同一个散列地址,这种现象称为 _____ 冲突(或碰撞)______。
233、如果要为文件中的每个记录建立一个索引项,则这样建立的索引表称为 ___ 稠密索引 ________。
234、数据元素及其关系在计算机存储器内的表示称为 __ 数据的存储结构 _______。
235、长度为 n 的线性表采用单链表结构存储时,在等概率情况下查找第 i 个元素的时间复杂度是 ___O(n)______。
236、下面是在顺序栈上实现的一个栈基本操作,该操作的功能是 __ 取栈顶元素 _ ______。
typedef struct{
DataType data[100] ;
int top ;
}SeqStack ;
DataType f18(SeqStack*S)
{ if(StackEmpty(S))
Error( ”Stack is empty ”) ;
return S->data[S->top] ;
}
237、在串匹配中,一般将主串称为目标串,将子串称为 ____模式串 _____。
238、已知广义表 C=(a(b ,c) , d) ,则: tail(head(tail©))= ____ (c)_____。
239、用 6 个权值分别为 6、13、18、30、7 和 16 的结点构造一棵哈夫曼 (Huffman) 树, 该树 的带权路径长度为___219______。
240、已知有向图如下所示,其中顶点 A到顶点 C的最短路径长度是 35_。
241、对序列 {55 ,46,13,05,94,17,42} 进行基数排序, 第一趟排序后的结果是 {42,13,94,55,05,46,17}_____ 。
242、高度为 3 的 3 阶 B-树最少的关键字总数是 7_。
243、VSAM通常作为大型索引顺序文件的标准组织,其动态索引结构采用的是 B+ 树_。
244、数据的链式存储结构的特点是借助 ___ 指针 _____表示数据元素之间的逻辑关系。
245、如果需要对线性表频繁进行 ___ 插入 __或 _删除 ____操作,则不宜采用顺序存储结构。
246、如图所示, 可以利用一个向量空间同时实现两个类型相 同的栈。其中栈 1 为空的条件是 top1=0,栈 2 为空的条件是 top2=n-1,则“栈满”
的 判 定 条 件 是
__ top2+1=top1______ 。
247、静态存储分配的顺序串在进行插入、置换和 ___ 链接 _ ____等操作时可能发生越界。
248、广义表 L= (a,(b,( )))的深度为 ____ 3__ __。
249、任意一棵完全二叉树中,度为 1 的结点数最多为 ___ 1_ __。
250、求最小生成树的克鲁斯卡尔 (Kruskal) 算法耗用的时间与图中 ____ 边__ __的数目正相关。
251、在 5 阶 B-树中,每个结点至多含 4 个关键字,除根结点之外,其他结点至少含 ___ 2__ ___个关键字。
252、若序列中关键字相同的记录在排序前后的相对次序不变,则称该排序算法是 ____ 稳定 _ ___的。
253、常用的索引顺序文件是 ____ ISAM__ 文件和 ___ VSAM ___文件。
254、估算算法时间复杂度时考虑的问题规模通常是指算法求解问题的 _ _规模函数 _ ______。
255、在双向循环链表中插入一个新的结点时,应修改 __ 4__ _____个指针域的值。
256、若进栈序列为 a,b,c,且进栈和出栈可以穿插进行,则可能出现 ____ 5__ _个不同的出栈序列。
257、链串的结点大小定义为结点的 __ _数据域 ___ ___中存放的字符个数。
258、广义表 (a,(d,©))的深度为 ___ 3_ ___。
259、在含有 3 个结点 a,b,c 的二叉树中,前序序列为 abc 且后序序列为 cba 的二叉树有 __ __4 _____棵。
260、若用邻接矩阵表示有向图,则顶点 i 的入度等于矩阵中 __ 第 i 列的非零个数 _ ______
261、对关键字序列 (15,18, 11,13, 19,16,12, 17,10, 8)进行增量为 5 的一趟希尔排序的结果为
_ 15,12,11,10,8,16,18,17,13,19________ 。
262、索引顺序查找的索引表由各分块中的最大关键字及各分块的 ____ 起始地址 ___ __构成。
263、VSAM 文件的实现依赖于操作系统中的 ___ 虚拟 ___ ___存取方法的功能。
264、如果某算法对于规模为 n 的问题的时间耗费为 T(n)=3n3,在一台计算机上运行时间为 t 秒,则在另一台
运行速度是其 64 倍的机器上,用同样的时间能解决的问题规模是原问题规模的 4 倍。
265、将两个长度分别为 m 和 n 的递增有序单链表,归并成一个按元素递减有序的单链表,可能达到的最好的时
间复杂度是 O(m+n)
266、.已知循环队列的存储空间大小为 m,队头指针 front 指向队头元素,队尾指针 rear 指向队尾元素的下一个位
置,则在队列不满的情况下,队列的长度是 (rear-front+m )%m
267、字符串“ sgabacbadfgbacst ” 中存在有 3 个与字符串“ ba”相同的子串
268、假设以列优先顺序存储二维数组 A[5][8] ,其中元素 A[0][0] 的存储地址为 LOC(a00),且每个元素占 4 个存
储单元,则数组元素 A[i][j] 的存储地址为
*Loc a[00]+4(5j+i)**。
269、.假设用 <x,y>表示树的边(其中 x 是 y 的双亲),已知一棵树的边集为{<b,d>,<a,b>,<c,g>,<c,f>,<c,h>,<a,c>} ,该树的度是 3 。
270、n 个顶点且含有环路的无向连通图中,至少含有 n 条边。
271、在一般情况下用直接插入排序、选择排序和冒泡排序的过程中,所需记录交换次数最少的是 选择排序 。
272、和二分查找相比,顺序查找的优点是除了不要求表中数据元素有序之外,对 存储 结构也无特殊要求。
273、顺序文件中记录存放的物理顺序和 逻辑 顺序一致。
274、数据的存储结构是其逻辑结构 __ 映像 ___ __。
275、.输入线性表的 n 个元素建立带头结点的单链表,其时间复杂度为 ____ O(n) _______。
276、假设循环队列的元素存储空间大小为 m,队头指针 f 指向队头元素,队尾指针 r 指向队尾元素的下一个位置,则在少用一个元素空间的前提下,表示“队满”的条件是 ____ (rear+1 )%m=f___ ____。
277、给定串的联接操作函数:、
char *strcat(char *to, char *from);
//将串 from 联接到串 to 的末尾,并返回联接后的串
若字符串 s1=〞point〞,s2=〞of 〞,则 strcat(s1,strcat)(s2,s1))的操作结果是 _____ pointofpoint___ ___。
278、.假设二维数组 A[8][10] 按行优先顺序存储 ,若每个元素占 2 个存储单元 ,元素 A[0][0] 的存储 地址为 100,则元素 A[4][5] 的存储地址为 ___ 190_______ 。
279、假设一棵完全二叉树含 1000 个结点 ,则其中度为 2 的结点数为 ____ 499_____ __。
280、已知一个有向网如图所示 ,从顶点 1 到顶点 4 的最短路径长度为 ____ 55 _。
281、在快速排序、堆排序和归并排序中,最坏时间复杂度为 O(n
2 )的排序算法有 快速排序 ___ ____。
282、假设散列表的表长为 11,散列函数为 H(key)=key%7, 若用线性探测处理冲突 ,则探查地址序列 hi 的计算公式为( H(key)+i-1)_ ____ (i =1,2…,10)______
283、VSAM 文件由 __ 索引集 _ ________ ,顺序集 _ __________和数据集三部分组成。
284、下列程序段的时间复杂度为 ___________。
i=1;
while(i<n )
i=i*2 ;
285、向一个长度为 n 的顺序表中第 i(1≤i≤n)个元素之前插入一个元素时,需向后移动 ____ n-i+1 _______个元素。
286、在循环双链表中,删除最后一个结点,其算法的时间复杂度为 O(1)_。
287、队列的插入操作在队列的 ______ 对尾(或尾部)_____部分进行。
288、一个栈的输入序列是 1,2,3,⋯, n,输出序列的第一个元素是 n,则第 i 个输出元素为 _____ n-i+1 ______。
289、一个 10 阶对称矩阵 A,采用行优先顺序压缩存储下三角, a 00 为第一个元素,其存储地址为 1,每个元素占有 1
个存储地址空间,则 a 85 的地址为 ____ 42_______。
290、设字符串 S=″I□ AM□A□STUDENT ″(其中□表示空格字符) ,则 S的长度为 _______14 ____。
291、在树形结构中,没有后继的结点是 ____叶子(终端)_______结点。
292、一棵深度为 n(n>1)的满二叉树中共有 ___________个结点。
293、在无向图中,如果从顶点 v 到顶点 v′有路径,则称 v 和 v′是 _____ 连通的______。
294、无向完全图 G 采用 _____ 领接矩阵______存储结构较省空间。
295、在顺序查找、二分查找、索引查找和散列查找四种查找方法中,平均查找长度与元素个数没有关系的查找方法是
____ 散列查找_______。
296、快速排序最好情况下的时间复杂度为 _________。
297、下列程序段的时间复杂度为 _______。
i=0;s=0;
while(s<n)
{i++ ;
s=s+i;
}
298、数据的存储结构被分为顺序存储结构、 ___ 链式存储结构____、散列存储结构和索引存储结构 4种。
299、从一个长度为 n 的顺序表中删除第 i 个元素( 1≤i≤n)时,需向前移动 __ n-i_____个元素。
30、在单链表中,插入一个新结点需修改 ___ 2____个指针。
301、在队列结构中,允许插入的一端称为 _队尾。
302、稀疏矩阵采用的压缩存储方法是 ___ 三元组表____。
303、向一个栈顶指针为 top 的链栈中插入一个新结点 *p 时,应执行 p->next=top 和__ top=p_____操作。
304、有 m 个叶结点的哈夫曼树所具有的结点数为 ___ 2m-1____。
305、在一棵具有 n 个结点的完全二叉树中,从树根起,自上而下、自左至右地给所有结点编号。设根结点编号为 1。若编号为 i 的结点有右孩子,那么其右孩子的编号为 ___ 2i+1____。
306、在一棵树中, ____ 根___结点没有前驱结点。
307、一个具有 n 个顶点的有向完全图的弧数是 ___ 根____。
308、 n 个顶点的无向图 G 用邻接矩阵 A[n][n]存储,其中第 i 列的所有元素之和等于顶点 V i 的__n(n-1)_____。
310、选择排序的平均时间复杂度为 _度。
311、算法通常可分为程序、伪语言算法和__ 非形式算法____三种类型
312、时间复杂性执行删除操作,其删除算法的平均时间复杂性为_____ 指数_______
313、对顺序表执行删除操作,其删除算法的平均时间复杂性为____ (n-1)/2________
314、若head表示循环链表头指针,t表示尾节点,则头指针head与尾结点t之间的关系可表示为___ t->next=head_________
315我们通常把队列中允许删除的一段称为_____ 队头_______。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
_结点没有前驱结点。
307、一个具有 n 个顶点的有向完全图的弧数是 ___ 根____。
308、 n 个顶点的无向图 G 用邻接矩阵 A[n][n]存储,其中第 i 列的所有元素之和等于顶点 V i 的__n(n-1)_____。
310、选择排序的平均时间复杂度为 _度。
311、算法通常可分为程序、伪语言算法和__ 非形式算法____三种类型
312、时间复杂性执行删除操作,其删除算法的平均时间复杂性为_____ 指数_______
313、对顺序表执行删除操作,其删除算法的平均时间复杂性为____ (n-1)/2________
314、若head表示循环链表头指针,t表示尾节点,则头指针head与尾结点t之间的关系可表示为___ t->next=head_________
315我们通常把队列中允许删除的一段称为_____ 队头_______。
[外链图片转存中…(img-TVa3lXqi-1715499791266)]
[外链图片转存中…(img-jsDjmnDL-1715499791267)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!