面试题
Bob drudgery
这个作者很懒,什么都没留下…
展开
-
浅谈堆和栈
浅谈堆和栈堆和栈都是一种数据项按序列排列的数据结构简单描述堆和栈:栈:像存放东西(数据)的箱子或桶,只能先进后出,即先存放进去的后取,最后放进去的先取堆:像一个倒过来的树,是一种经过排序的树形数据结构,每个节点都有一个值,通常说的堆的数据结构,是指二叉堆;堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。由于堆的这些特性,常用来实现优先队列,堆的存取是随意,如同我们在图书馆的书架上取书,虽然书的摆放是有顺序的,但是我们想取任意一本时,不必像栈一样,先取出前面所以的书,数据啊这种机制原创 2020-05-11 16:47:07 · 347 阅读 · 0 评论 -
由go语言中的make和new函数想到的关于堆和栈的面试题
由go语言中的make和new函数想到的关于堆和栈的面试题问题:都知道go语言中的值类型和引用类型,这两种类型的变量在声明和初始化的时候是不同的,并且map,chan,slice三种类型只能采用make函数声明,那么请解释一下两种类型分别存放在堆区还是栈区?再延伸解释一下堆和栈的区别,并解释一下本质上是什么?答案:go语言中的值类型包括:整型,浮点,字符串,数组,bool,struct,声明的变量直接存储值,分配栈区的内存空间,这些变量所占据的空间在函数被调用完毕后自动释放引用类型:channel原创 2020-05-11 16:44:47 · 1980 阅读 · 3 评论