Data structure common writing surface

Data structure common written test questions

  1. 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)。 
    
  2. Implement a queue with two stacks

设有两个栈S1,S2
入队操作:
	判断栈S1是否为空,为空则可以执行入队操作,即所有数据入栈S1
出队操作:
	所有数据出栈S1,入栈S2,然后出栈S2
  1. Implement a stack with two queues

    设有两个队列Q1,Q2
    入栈操作:
    	判断两个队列是否为空,为空则可以执行入栈操作,即所有数据入队Q1
    出栈操作:
    	Q1(Q2)中的数据除最后一个全部出队入队列Q2(Q1),留在Q1中最后一个数据是将要出栈的数据,依次类推直到所有c数据出栈
    
  2. 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
  1. Briefly describe the quick sort process

    1)选择一个基准元素,通常选择第一个元素或者最后一个元素,
    2)通过一趟排序将待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的元素值比基准值大。
    3)此时基准元素在其排好序后的正确位置
    4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。
    
  2. 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

  3. 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

  4. 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

Guess you like

Origin blog.csdn.net/bentao1997719/article/details/124934096