【大勇说】
对于一些院校自主命题来说,会通过简答题考察数据结构某些概念,对这些基本的概念,我们只有多看书,才能够熟悉掌握。这些概念题型其实是不用刻意去背诵的,只需要多看几遍,再用自己的语言去描述即可。接下来的我将通过一系列的推文,给大家做一个简答题的整理。
数据结构简答题汇总(一)
01
简述逻辑结构与存储结构的联系和区别。
答: 联系:数据的逻辑结构与存储结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构 在数据结构中,逻辑结构与计算机无关,存储结构是数据元素之间的逻辑关系在计算机中的表示。存储结构不仅将逻辑结构中所有数据元素存储到计算机内存中,而且还要在内存中存储各数据元素间的逻辑关系。通常情况下,一种逻辑结构可以有多种存储结构,例如,线性结构可以采用顺序存储结构或链式存储结构表示。02
简述顺序表和链表存储方式的特点。
答: 顺序表的优点是可以随机存取元素,存储密度高;缺点是不便于插入和删除元素(需要移动大量的元素)。链表的优点是便于节点的插入和删除(只需要修改指针域,不需要移动节点) ;缺点是不能进行随机访问,只能顺序访问,另外,每个节点上增加指针域,导致存储密度较低。03
头指针和头结点的区别
答: 头指针是指在第一个结点之前的指针,它是一个链表存在的标志,是必须存在必不可少的。 头结点是第一个结点之前的结点,它是为了方面在第一个结点之前进行元素的插入和删除操作,它不是必须的,并且数据域也可以不存放信息。04
栈和队列的区别
答: 栈是只能在一端进行插入和删除的线性表,插入和删除都在栈顶进行,它的特点是“先进后出”。常用于括号的匹配问题,递归问题,但是递归问题要注意堆栈的溢出现象。 队列是在一端插入在另一端删除的线性表,插入的那端是队尾,删除的那端是队首,特点是“先进先出”,在层次遍历和BFS算法、狄杰斯特拉算法中使用到05
解释带头结点的单链表和不带头结点的单链表的区别。
答: 带头结点的单链表和不带头结点的单链表的区别主要体现在其结构上和算法操作上。 在结构上,带头结点的单链表,不管链表是否为空,均含有一个头结点,不带头结点的单链表不含头结点。 在操作上,带头结点的单链表的初始化为申请一个头结点。无论插入或删除的位置是地第一个结点还是其他结点,算法步骤都相同。不带头结点的单链表,其算法步骤要分别考虑。06
贪心算法、动态规划和分治算法:
答: 贪心算法是指从上到下,每次都求解局部最优解的算法,特点是每次求解最优解,但是最终的结果不一定是最优,经典例子是背包问题。 动态规划是将一个大问题划分成若干个子问题,问题之间存在重叠,从上到下,求解整体最优解,每一次的求解会对下一次的问题造成影响,最终的最优解不一定包含每次的最优解,但是一定有部分最优解。经典例子是求最长子串。 分治算法是将一个大问题划分成若干个和大问题相似的子问题,再对子问题进行递归求解,最终合并得到最后的结果。特点是大问题的划分与子问题相似,并且每个问题之间是相互独立的。经典例子是二路归并排序、快速排序插入或删除的位置是第一个结点还是其他结点。因为两种情况的算法步骤不同。抓码计算机考研qq群
总群:625590924
广大:1143982604
暨大:1071137230
广工:938111325
华工:428389734
深大:729770764
浙大:978938582
厦大:1125268501
中大:921801084
南航:281118241
华农:515681663
重邮:736197896
北邮:1126650806
南邮:1109929146
广外:976231252
东北大学:1128523098
华南师大:428389734
南昌大学:923249141
给个“在看”支持一下我