社区
数据结构与算法
帖子详情
听说的一道google面试题
galois_godel
2007-01-07 08:27:48
1)堆与栈的区别?
2)如何判断栈分配内存的方向(向上/向下)
3)如何最快的判断栈的容量(不要用递归和循环)
...全文
473
6
打赏
收藏
听说的一道google面试题
1)堆与栈的区别? 2)如何判断栈分配内存的方向(向上/向下) 3)如何最快的判断栈的容量(不要用递归和循环)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NowCan
2007-01-08
打赏
举报
回复
1、栈,先进后出,这是主要区别。栈用于函数内临时变量,堆用于动态分配内存。
2、用函数,同上
3、等待答案。
39457760
2007-01-08
打赏
举报
回复
楼主可有更好的答案?
39457760
2007-01-08
打赏
举报
回复
2)用函数,返回函数内的局部变量地址,和发起调用的函数内局部变量地址比较
3)这个只想出这一个方法,windows下,读取可执行文件格式里有“保留堆栈大小”的属性,应该可以判断栈的容量
vista_liang
2007-01-08
打赏
举报
回复
1. 栈是数据的存取方法,先进后出;堆是数据的排列方法,用2叉树定义就是,子节点都必须大于(或都小于)父节点。堆和栈说的是两码事。
2. 函数,同上的上
3. 那要看用什么存储方式了,如果用数组(或其他静态的连续的存储方式)存储数据,最大容量你定义多少就是多少,要得到已用的容量,用尾地址减首地址在加1就是了;用链表(或其他动态的非连续的存储方式),最大容量就是就是程序自己定义的,或系统定义的,要得到已用的容量,除非是定义了指针数组(或有能替代的、连续性的类等来定义),指向各个节点,用指针的个数乘以节点的容量,否则应该必须用到循环或递归。
diannaomingong
2007-01-08
打赏
举报
回复
1.堆是扔个东西进去或者取出来就要重排序放好的,栈是只能扔在上面从上面取的~
2.push个东西进去再看内存新地址和原地址(前提是能直接访问内存...,不同的编程语言有规定各自标准库实现栈的方向,这个要看编程语言的文档)
3.定义栈的时候应该要定义栈的当前length和每单位大小的,乘下
shshsh_0510
2007-01-08
打赏
举报
回复
1, 堆是堆,栈是栈。如果有人很认真的问你是否会区别土豆与黄瓜,你是什么感觉?
2,现在的机箱很多都支持横放与竖放的,这个不太好说吧
3,如果说明书没有标明相应参数的话,一般测试容量最好的工具是量杯。
微软
Google
等互联网公司经典面试智力题和解答
微软
Google
等互联网公司经典面试智力题和解答
Homebrew作者面试
Google
被拒,只因写不出
一道
算法题
Max Howell在
Google
面试,但
Google
拒绝了他,给出的答复是:“虽然我们90%的工程师都用你写的软件,但抱歉我们不能聘用你,因为你无法在白板上写出翻转二叉树。” 这个事件在业内引起了轩然大波,人们开始讨论考查...
redis 40道
面试题
面试还搞不懂redis,快看看这40道
面试题
(含答案和思维导图) 原创 ...
程序员
面试题
精选算法58题加答案
【转】程序员
面试题
精选算法58题加答案 .2012-03-03 15:53 519人阅读 评论(0) 收藏 举报 面试算法matrixinputnullinteger 这篇文章总结的非常好,以防以后找不到,在此转载。 程序员
面试题
精选(01)-把二元查找树...
程序员
面试题
精选
程序员
面试题
精选(01)-把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 比如将二元查找树 10 /...
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章