![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法练习
文章平均质量分 75
samuelcoulee
这个作者很懒,什么都没留下…
展开
-
【小题目】母牛产小牛问题
问题:一头母牛从出生后,每两年可以生下一头母牛,即在第二年和第四年分别可产下一头母牛,出生后第五年将会死去。 假设农场现有一头母牛,N年后农场的母牛数目是多少? 分析:这个问题,若找不到合适的切入点,很容易陷入泥潭,把问题复杂化。笔者认为,解决此问题的最有效思路,是采取‘状态 + 推演’的办法。把所有牛以其自身年龄来分组,问题就很清晰明了了。 示意图如下: 1岁 2原创 2013-02-18 21:38:31 · 1597 阅读 · 0 评论 -
单链表反转
想起很早以前某次面试,面试官很严肃的要求我现场手写单链表反转的代码。哥虎躯一震,心想:不就需要要个临时变量来记录地址吗,用得着这样煞有介事?虽然在那之前我的确没写过这个程序,哈哈哈… 当时我草草写了十来行代码,面试官不等我完成,就直接拿过去开始问问题。不知道是不是因为抗压能力不足,在面试官的不断‘盘问’下,哥越来越紧张,到最后简直头脑一片空白,无法正常思考问题,回答问题就越来越心虚——当然,面试原创 2013-02-20 20:42:30 · 473 阅读 · 0 评论 -
二叉查找树的实现——C++
二叉查找树是比较基础的数据结构,可实现排序、二分查找等操作。 但是由于生成方式的局限性(不控制平衡),当先后插入的关键字有序时,便会形成单支,严重影响效率和性能。(后续要实现的目标当然就是自平衡树了,比如AVL、红黑树) 话不多说,直接贴源码。 头文件(BinarySearchTree.h): /*********************** * BinarySearchTree原创 2013-02-19 23:23:57 · 349 阅读 · 0 评论 -
使用二分法从数组中找出最小的k个数
问题:从n个元素的无序数组中,找出最小的k个元素. 分析:可借助快速排序算法的思想,将数组分而治之——随机选取数组中某个元素的值为中值,并以此中值为分水岭,按大小将所有元素分为两组。之后将偏小一组的元素数(设为t)与k进行比较。 如图所示: 若t = k,则结束操作,偏小数组内元素即为我们想要寻找的k个数. 若t 若t > k,则需要在偏小数组中寻找k个最小的数,可对偏原创 2013-03-13 16:33:51 · 1694 阅读 · 0 评论 -
平层打印二叉树
问题描述: 给定一个二叉树,按照从左到右原创 2014-05-29 16:43:07 · 612 阅读 · 0 评论