原文: 一步一步写算法(之挑选最大的n个数) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 从一堆数据中挑选n个最大的数,这个问题是网上流传的比较广的几个问题之一。具体来说,它的意思就是:假设我们有100个数据,我们需要挑选出最大的n个数据(...
分类:
编程语言 时间:
2014-12-11 10:12:43
阅读次数:
146
原文: 一步一步写算法(之排序二叉树删除-3) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 3 普通节点的删除 3.1 删除的节点没有左子树,也没有右子树 测试用例1: 删除节点6 /*
* * 10 ====...
分类:
编程语言 时间:
2014-12-11 10:12:24
阅读次数:
264
原文: 一步一步写算法(之排序二叉树删除-2) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 2.4 删除节点的左右子树都存在,此时又会分成两种情形 1)左节点是当前左子树的最大节点,此时只需要用左节点代替根节点即可 /*
* * 1...
分类:
编程语言 时间:
2014-12-11 10:12:07
阅读次数:
216
原文:一步一步写算法(之 算法总结)【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 自10月初编写算法系列的博客以来,陆陆续续以来写了几十篇。按照计划,还有三个部分的内容没有介绍,主要是(Dijkstra算法、二叉平衡树、红黑树)。这部分会在后...
分类:
编程语言 时间:
2014-12-11 10:11:49
阅读次数:
296
原文: 一步一步写算法(之二叉树深度遍历) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 深度遍历是软件开发中经常遇到的遍历方法。常用的遍历方法主要有下面三种:(1)前序遍历;(2)中序遍历;(3)后序遍历。按照递归的方法,这三种遍历的方法其...
分类:
编程语言 时间:
2014-12-11 10:11:35
阅读次数:
224
原文: 一步一步写算法(之“数星星”) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 学过编程的朋友都知道,当初为了学习编程语言中的各种语法结构,我们要试着解决各种各样奇怪的题目。其中“数星星”就似乎其中的一种。什么是“数星星”呢?就是打印各...
分类:
编程语言 时间:
2014-12-11 10:10:31
阅读次数:
185
原文: 一步一步写算法(之二叉树广度遍历) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在二叉树的遍历当中,有一种遍历方法是不常见的,那就是广度遍历。和其他三种遍历方法不同,二叉树的广度遍历需要额外的数据结构来帮助一下?什么数据结构呢?那就...
分类:
编程语言 时间:
2014-12-11 10:09:34
阅读次数:
267
原文: 一步一步写算法(之哈希二叉树) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 用过平衡二叉树的朋友都清楚,平衡二叉树的最大优点就是排序。不管是在数据插入的时候还是在数据删除的时候,我们都要考虑到数据的排序情况。但是和数据的添加、删除一...
分类:
编程语言 时间:
2014-12-11 10:08:24
阅读次数:
195
原文: 一步一步写算法(之递归和堆栈) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 看过我前面博客的朋友都清楚,函数调用主要依靠ebp和esp的堆栈互动来实现的。那么递归呢,最主要的特色就是函数自己调用自己。如果一个函数调用的是自己本身,那...
分类:
编程语言 时间:
2014-12-11 10:05:55
阅读次数:
228
原文: 一步一步写算法(之链表排序) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 相比较线性表的排序而言,链表排序的内容稍微麻烦一点。一方面,你要考虑数据插入的步骤;另外一方面你也要对指针有所顾虑。要是有一步的内容错了,那么操作系统会马上给...
分类:
编程语言 时间:
2014-12-11 10:05:41
阅读次数:
151