Data structure common written test questions
-
The difference between sequence list and linked list
顺序表存储(典型的数组) 原理:顺序表存储是将数据元素放到一块连续的内存存储空间,相邻数据元素的存放地址也相邻(逻辑与物理统一)。 优点:(1)空间利用率高。(局部性原理,连续存放,命中率高) (2)存取速度高效,通过下标来直接存储。 缺点:(1)插入和删除比较慢,比如:插入或者删除一个元素时,整个表需要遍历移动元素来重新排一次顺序。 (2)不可以增长长度,有空间限制,当需要存取的元素个数可能多于顺序表的元素个数时,会出现"溢出"问题.当元素个数远少于预先分配的空间时,空间浪费巨大。 时间性能 :查找 O(1) ,插入和删除O(n)。
链表存储 原理:链表存储是在程序运行过程中动态的分配空间,只要存储器还有空间,就不会发生存储溢出问题,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点关系间的指针。 优点:(1)存取某个元素速度慢。 (2)插入和删除速度快,保留原有的物理顺序,比如:插入或者删除一个元素时,只需要改变指针指向即可。 (3)没有空间限制,存储元素的个数无上限,基本只与内存空间大小有关. 缺点:(1)占用额外的空间以存储指针(浪费空间,不连续存放,malloc开辟,空间碎片多) (2)查找速度慢,因为查找时,需要循环链表访问,需要从开始节点一个一个节点去查找元素访问。 时间性能 :查找 O(n) ,插入和删除O(1)。
-
Implement a queue with two stacks
设有两个栈S1,S2
入队操作:
判断栈S1是否为空,为空则可以执行入队操作,即所有数据入栈S1
出队操作:
所有数据出栈S1,入栈S2,然后出栈S2
-
Implement a stack with two queues
设有两个队列Q1,Q2 入栈操作: 判断两个队列是否为空,为空则可以执行入栈操作,即所有数据入队Q1 出栈操作: Q1(Q2)中的数据除最后一个全部出队入队列Q2(Q1),留在Q1中最后一个数据是将要出栈的数据,依次类推直到所有c数据出栈
-
It is known that the preorder traversal of a certain binary tree is ABDFGHIEC, and the inorder traversal is FDHGIBEAC. Please restore this binary tree.
前序遍历A-B-D-F-G-H-I-E-C
中序遍历F-D-H-G-I-B-E-A-C
后序遍历F-H-I-G-D-E-B-C-A
-
Briefly describe the quick sort process
1)选择一个基准元素,通常选择第一个元素或者最后一个元素, 2)通过一趟排序将待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的元素值比基准值大。 3)此时基准元素在其排好序后的正确位置 4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。
-
Assume that a group of initial record key sequences are (60, 80, 55, 40, 42, 85), then the result of a quick sort based on the first key 60 is (C).
A) 40,42,55,60,80,85
B) 42,45,55,60,85,80
C) 42,40,55,60,80,85
D) 42,40,60,85,55,80
-
Ways to resolve hash collisions
Hash table (Hash table, also called hash table) is a data structure that is directly accessed according to the key value (Key value).
1) Linear detection method
2) Square detection method
3) Pseudo-random sequence method
4) Chain address method
-
Assuming the length of the hash table is 10, the hash function H(n)=n mod 7, the initial key sequence is (33, 24, 8, 17, 21, 10), and the chain address method is used as a conflict resolution method, the average The lookup length is ( B ).
A) 1 B) 1.5 C) 2 D) 2.5