0
点赞
收藏
分享

微信扫一扫

java面试题(一)

海牙秋天 2022-03-26 阅读 50
java后端

必备的数据结构及算法:

堆栈和队列的存取数据的区别:

堆栈(先进后出,后进先出.只能在其中的1端进行存取操作–应用“表达式求值”,“过滤器及拦截器的执行顺序”)

队列(先进先出,后进后出。可以用来处理”环状缓存区”,”排队算法”,游标属于单向队列。

jvm内存中的堆和栈:堆在内存的低地址,栈是高地址。堆的数据是每个程序独享。栈的数据可以在jvm中各个程序共享。只要用new方法创建的对像,都放在堆中。

String str = new String(“aa”)同时放堆和栈。

算法的时间复杂度(算法的执行时间,实际上使用的”比较次数”和“移动次数”。

空间复杂度:算法执行所需的内存,实际上使用的是“最大数组长度”。

三种排序算法:冒泡法,插入法,快速排序法。

二叉树是什么(树的一种,每个节点最多只能有2个儿子),满二叉树(除了叶子节点,其他节点都有2个子节点).

满二叉树第N层的节点数:2的n-1次方。

有什么作用(快速的遍历.先序算法,中序算法和后序算法),中序算法就是深度优先。

面向过程:只有函数调用,通过头文件导入定义在其他文件的函数。典型“c语言”。

a.c文件

int add(int x)

{

return x+1;

}

a.h文件

int add(int x);

在b.c文件中

#include “a.h”

main()

{

printf("%d",add(1));

}

面向对象:oop。

面向切片:aop。

举报

相关推荐

0 条评论