以下题目笔者为了准备考研复试用的题目,在看之前,先不要看答案,看看自己会不会,这样再看答案有助有自己理解
1.Java与C++的区别:
(1)JAVA中没有显式的指针,但是C++中有
(2)JAVA只能支持单继承,但是C++支持多继承(一个类可以继承多个类)
(3)JAVA中有自动的垃圾回收机制,用完一个内存之后无需自己释放,但是C++需要自己delete或者free,所以可能出现内存泄漏
2.描述一下图的深度优先搜索与广度优先搜索
- 深度优先搜索(类似于树的先序遍历):首先访问起始点V,然后访问问V的一个邻接点V1,然后紧接着再访问V1的一个邻接点V2,依次这样纵深地访问下去,直到访问到最深的一个节点Vn没有邻接点时,退回到上一层Vn-1,再访问Vn-1其他的一个邻接点,就这样,纵深访问尽了之后再退回到上一层,.......,直到左右的节点被访问完
- 广度优先搜索(类似于树的层次遍历):首先访问起始点V,然后访问V的所有邻接点w1,w2,w3,w4......Wn ,等全部访问完之后,再依次访问下一层的节点的所有邻接点,