分治算法几个经典例子_数据结构简答题,考来考去逃不出这几个

【大勇说】

对于一些院校自主命题来说,会通过简答题考察数据结构某些概念,对这些基本的概念,我们只有多看书,才能够熟悉掌握。这些概念题型其实是不用刻意去背诵的,只需要多看几遍,再用自己的语言去描述即可。接下来的我将通过一系列的推文,给大家做一个简答题的整理。

数据结构简答题汇总(一)

01

简述逻辑结构与存储结构的联系和区别。

 答:  联系:数据的逻辑结构与存储结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构 在数据结构中,逻辑结构与计算机无关,存储结构是数据元素之间的逻辑关系在计算机中的表示。存储结构不仅将逻辑结构中所有数据元素存储到计算机内存中,而且还要在内存中存储各数据元素间的逻辑关系。通常情况下,一种逻辑结构可以有多种存储结构,例如,线性结构可以采用顺序存储结构或链式存储结构表示。

02

简述顺序表和链表存储方式的特点。

 答:  顺序表的优点是可以随机存取元素,存储密度高;缺点是不便于插入和删除元素(需要移动大量的元素)。链表的优点是便于节点的插入和删除(只需要修改指针域,不需要移动节点) ;缺点是不能进行随机访问,只能顺序访问,另外,每个节点上增加指针域,导致存储密度较低。

03

头指针和头结点的区别

 答:  头指针是指在第一个结点之前的指针,它是一个链表存在的标志,是必须存在必不可少的。 头结点是第一个结点之前的结点,它是为了方面在第一个结点之前进行元素的插入和删除操作,它不是必须的,并且数据域也可以不存放信息。

04

栈和队列的区别

 答:  栈是只能在一端进行插入和删除的线性表,插入和删除都在栈顶进行,它的特点是“先进后出”。常用于括号的匹配问题,递归问题,但是递归问题要注意堆栈的溢出现象。 队列是在一端插入在另一端删除的线性表,插入的那端是队尾,删除的那端是队首,特点是“先进先出”,在层次遍历和BFS算法、狄杰斯特拉算法中使用到

05

解释带头结点的单链表和不带头结点的单链表的区别。

 答:  带头结点的单链表和不带头结点的单链表的区别主要体现在其结构上和算法操作上。 在结构上,带头结点的单链表,不管链表是否为空,均含有一个头结点,不带头结点的单链表不含头结点。 在操作上,带头结点的单链表的初始化为申请一个头结点。无论插入或删除的位置是地第一个结点还是其他结点,算法步骤都相同。不带头结点的单链表,其算法步骤要分别考虑。

06

贪心算法、动态规划和分治算法:

 答:  贪心算法是指从上到下,每次都求解局部最优解的算法,特点是每次求解最优解,但是最终的结果不一定是最优,经典例子是背包问题。 动态规划是将一个大问题划分成若干个子问题,问题之间存在重叠,从上到下,求解整体最优解,每一次的求解会对下一次的问题造成影响,最终的最优解不一定包含每次的最优解,但是一定有部分最优解。经典例子是求最长子串。 分治算法是将一个大问题划分成若干个和大问题相似的子问题,再对子问题进行递归求解,最终合并得到最后的结果。特点是大问题的划分与子问题相似,并且每个问题之间是相互独立的。经典例子是二路归并排序、快速排序插入或删除的位置是第一个结点还是其他结点。因为两种情况的算法步骤不同。 a9b6103133af019327fc1b468db01177.gif

 抓码计算机考研qq群 

总群:625590924

广大:1143982604

暨大:1071137230

广工:938111325

华工:428389734

深大:729770764

浙大:978938582

厦大:1125268501

中大:921801084

南航:281118241

华农:515681663

重邮:736197896

北邮:1126650806

南邮:1109929146

广外:976231252

东北大学:1128523098

华南师大:428389734

南昌大学:923249141

0703e8701f9aad9a64d2e787549ce295.png

给个“在看”支持一下我

55389405b66313eb780148e324ea7847.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值