三号考场:
(姜飞龙)
1、 度为二的树和二叉树的区别
答:度为 2 的树从形式上看与二叉树很相似,但它的子树是无序的,而二叉树是有序的。即,
在一般树中若某结点只有一个孩子,就无需区分其左右次序,而在二叉树中即使是一个孩子
也有左右之分。
2、 最小生成树有几种方法
普里姆算法的基本思想
取图中任意一个顶点 v 作为生成树的根,之后往生成树上添加新的顶点 w.在添加的顶
点 w 和已经在生成树上的顶点 v 之间必定存在一条边,并且该边的权值在所有连通顶点 v
和 w 之间的边中取值最小.之后继续往生成树上添加顶点,直至生成树上含有 n-1 个顶点
为止.
克鲁斯卡尔算法
克鲁斯卡尔算法的基本思想:为使生成树上边的权值之和达到最小,则应使生成树中每一
条边的权值尽可能地小.
具体做法: 先构造一个只含 n 个顶点的子图 SG,然后从权值最小的边开始,若它的添加不使
SG 中产生回路,则在 SG 上加上这条边,如此重复,直至加上 n-1 条边为止.
3、 时间复杂度为 nlogn 的排序方法有哪些
方式: 平均 最坏 最好
插入 n^2 n^2 n 希尔 n^1.3 冒泡 n^2 n^2 n
快速 nlogn n^2 nlogn 选择 n^2 n^2 n^2 堆排 nlogn nlogn nlogn
归并 nlogn nlogn nlogn 基数 d(n+r) d(n+r) d(n+r)
4、 快排的操作流程(用自己话说吧)
(李雨真)1.C 语言和算法和数据结构怎么理解。2.数据结构你怎么理解。3.FPGA MCU CPU
区别。4.度为 2 的树和二叉树区别
六号考场:
(陈璐)1、互联网是哪五层,分层功能;2、简述数据连路层的物理器件,路由器是有什
么功能,怎么实现该功能;3、数据连路层有什么协议;网络层有什么协议;应用层有什么
协议,;4、http 协议怎么实现功能的;5、哈希表的特性,怎么实现。其他就是比赛项目经
验。英语问了 coding 中令你 impressed 的事。最后得出结论,你网络这门核心课程学的不
怎么好。
七号考场:(郑航)
1、 数据库,表和视图的区别
简单的说,视图是按照你的 sql 语句生成的一个虚拟的东西,本身并不占数据库空间,譬如
有这个表,create table table_a (id int,name varchar(10))
然后有这么一个视图,create view view_a as select id from table_a
当你表里的数据增加或者删除的时候,你视图里的内容也随着变化
总之你不能对视图进行 update 或者 insert into 操作
说白了,就是视图的变化随着表的变化而变化
除非重新 create or replace view_a 才能把这个视图中的东西更改掉
2、 二叉树和普通树的区别,见上面,已有答案
3、 线性表的存储结构,
线性表的两种存储结构分别是顺序存储结构和链式存储结构。
顺序存储结构的主要特点是:
(1)结点中只有自身的信息域,没有关联信息域。因此,顺序存储结构的存储密度大、存
储空间利用率高。
(2)通过计算地址直接访问任何数据元素,即可以随机访问。
(3)插入和删除操作会引起大量元素的移动。
链式存储结构的主要特点是:
(1)结点除自身的信息域外,还有表示关联信息的指针域。因此,链式存储结构的存储密
度小、存储空间利用率低。
(2)在逻辑上相邻的结点在物理上不必相邻,因此,不可以随机存取,只能顺序存取。 (3)
插入和删除操作方便灵活,不必移动结点只需修改结点中的指针域即可。
4、 图和树的区别
八号考场:(李腾龙、陈彬)(PS: 老师会问你最擅长哪门。也多问几个那方面的)
1、 图的存储方式:
图的存储通用的存储方式有邻接矩阵表示法、邻接表表示法。为方便有向图的顶点的入度与
出度的计算,有 有向图的十字链表表示法。为方便对无向图的边进行操作,有 无向图的邻
接多重表表示法。
2、 快排:复杂度,实现方式。见上
3、 图有那些遍历,存储结构,树有什么遍历。
4、 进程与线程关系。
线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据
空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。多线程主要是为了节约
CPU 时间,发挥利用,根据具体情况而定。线程的运行中需要使用计算机的内存资源和 CPU。
5、 编译过程
九号考场:(张蓉),还有一些问题,都不知道是什么,就省略了
1, Java,抽象类和接口的区别
简单来说,
接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以
有私有方法或私有变量的,
另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写
需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到
具体类实现。
还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口
实现多重继承,接口还有标识(里面没有任何方法,如 Remote 接口)和数据共享(里
面的变量全是常量)的作用.
2, 数据库并行什么的(不太理解这个问题)
3, 图的遍历和树的遍历的区别。
图需要需要 vis 是怕循环遍历,这和树不一样,数不可能循环遍历。
相同点:从一点出发遍历相邻节点,对树来说是左右孩子。
不同点:图有多个相邻点,二叉树只有左右孩子,bfs 需要 vis 记录访问过的节点。
比如 a,左 b 右 c,访问 a,然后 bc 如队,然后访问 b,a 和 b 相邻,没有 vis 的话 a 又要被
访问。图有不连通情况,树的的 dfs 和 bfs 都不需要 vis。树是一种特殊的图。
4, 设计个算法,效率最好的查找
太灵活了这个,你们视情况回答吧,我就答了哈希,问我怎么个哈希我就蒙了