c 算法面试题及答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

c算法面试题及答案

一、单项选择题(每题2分,共10题)

1.以下哪种排序算法平均时间复杂度为O(nlogn)?

A.冒泡排序B.选择排序C.快速排序D.插入排序

2.线性表采用顺序存储,访问第i个元素的时间复杂度是?

A.O(1)B.O(n)C.O(logn)D.O(n^2)

3.栈的操作特性是?

A.先进先出B.先进后出C.随机进出D.以上都不对

4.深度优先搜索遍历图一般采用的数据结构是?

A.队列B.栈C.树D.哈希表

5.一个具有n个顶点的无向完全图的边数是?

A.n(n-1)B.n(n-1)/2C.n^2D.n

6.对数据结构进行操作时,算法的时间复杂度取决于?

A.数据量大小B.代码行数C.编程语言D.计算机性能

7.以下哪个不是常见的哈希冲突解决方法?

A.开放定址法B.链地址法C.二分查找法D.再哈希法

8.一棵深度为k的满二叉树的节点数为?

A.2^k-1B.2^kC.2^(k-1)D.2k

9.以下排序算法中,稳定的排序算法是?

A.快速排序B.堆排序C.归并排序D.希尔排序

10.顺序查找一个长度为n的数组,平均查找长度是?

A.nB.n/2C.(n+1)/2D.2n

二、多项选择题(每题2分,共10题)

1.以下属于算法基本特性的有()

A.有穷性B.确定性C.可行性D.输入输出

2.常见的查找算法有()

A.顺序查找B.二分查找C.哈希查找D.广度优先查找

3.以下哪些是图的遍历方式()

A.深度优先遍历B.广度优先遍历C.先序遍历D.中序遍历

4.以下排序算法中,时间复杂度为O(n^2)的有()

A.冒泡排序B.选择排序C.插入排序D.归并排序

5.数据结构中,非线性结构有()

A.树B.图C.栈D.队列

6.以下关于栈和队列的说法正确的是()

A.栈是先进后出B.队列是先进先出

C.栈和队列都可以用数组或链表实现D.栈和队列都是线性结构

7.以下属于树的基本术语的有()

A.节点B.度C.层次D.路径

8.哈希函数的设计原则包括()

A.均匀性B.简单性C.唯一性D.高效性

9.以下属于动态规划算法特点的有()

A.把原问题分解为子问题B.保存子问题的解

C.避免重复计算D.贪心选择性质

10.以下算法中,适用于解决最短路径问题的有()

A.Dijkstra算法B.Floyd算法C.Prim算法D.Kruskal算法

三、判断题(每题2分,共10题)

1.算法的空间复杂度是指算法执行过程中所需要的存储空间大小。()

2.冒泡排序在最好情况下的时间复杂度为O(n)。()

3.二叉树的中序遍历是先访问根节点,再遍历左子树,最后遍历右子树。()

4.队列的插入操作在队头进行,删除操作在队尾进行。()

5.哈希表的查找效率只与哈希函数有关,与哈希冲突解决方法无关。()

6.图的邻接矩阵表示法适用于稀疏图。()

7.堆排序是一种不稳定的排序算法。()

8.线性表的链式存储结构比顺序存储结构更节省存储空间。()

9.分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题形式相同。()

10.贪心算法总能得到问题的最优解。()

四、简答题(每题5分,共4题)

1.简述快速排序的基本思想。

答案:选择一个基准值,通过一趟排序将数组分为两部分,左边部分都小于基准值,右边部分都大于基准值,然后对这两部分分别进行排序,最终使整个数组有序。

2.简述二叉树的前序遍历过程。

答案:先访问根节点,再递归前序遍历左子树,最后递归前序遍历右子树。

3.简述哈希表的原理。

答案:通过哈希函数将关键字映射到一个有限的地址空间中,形成哈希表。当要查找或插入元素时,利用哈希函数计算地址,若有冲突则采用特定方法解决。

4.简述分治法的步骤。

答案:分解,将原问题分解为若干个规模较小、相互独立且与原问题形式相同的子问题;解决,递归地求解这些子问题;合并,将子问题的解合并成原问题的解。

五、讨论题(每题5分,共4题)

1.比较不同排序算法的优缺

文档评论(0)

梅开有香 + 关注
实名认证
文档贡献者

闻梅香自来的寻香人。

1亿VIP精品文档

相关文档