链表

    面试题有很多,我不可能把所有的题的解决答案张贴出来,我只说一下我的思路,当然,很多解决方法是参考与书籍和网络,看书还是很有用的,这里的题一般是通过链表来实现。
    1.从1----1百万个数字里面随机抽取五十万个不同的数字.
      用链表保存这100万个数,从小到大。每随机一次就删除一个数,问题是怎么样从链表中高效的查找那个数。搜索方式,二分查找。但是这样并不是最优方案因为你还是需要进行查找,这个问题是个完全随机的问题,就像当于高中所学的的抽签的问题,抽签的顺序并不影响其随机性。如果随机性要求不高可以用洗牌算法。
      仔细想了想,用链表是无法做到高效的,最好的解决方案还是用连续存储的方式,如数组,我们可以把随机到的数据依次交换到数据的后面,然后减小随机的范围。这是我能想到的最好的解决方案,即保证了随机性,也保证了速度,但是有一点需要注意,栈的大小是很小的,windows下栈的大小为1M,linux下栈的大小好像是8M,暂时还没有研究到,所以这些数字的存储最好不要放到栈上,可选方案是放到全局变量区,或者是动态分配内存,要不很容易就能导致栈的下溢出。
    2.非常长的数字: 32478914098230948234 +101 是怎么写这加法涵数
                            32478914098230948234 *101呢?
      拆分数字并用链表来保存,然后进行计算。
<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(522) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-08-05 13:01:03

SAP99,支持下,也欢迎访问我的博客, SAP资料多多 http://sap99.cublog.cn http://www.sap99.com SAP实施顾问宝典 :http://www.sap99.com/Soft/VIP/200803/182.html

评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值