![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
ldxcf2
这个作者很懒,什么都没留下…
展开
-
学习算法导论
工作了五年多,一直在做一个ERP项目的架构。曾经很无知的认为算法无用,现在知道错了。记得大学的时候学过算法,但是这么多年基本上都还给了老师。为了弥补这个极大的错误,我决定从头开始学习算法。 人们都说一本好的教材能让学习事半功倍,于是买了英文版的《计算机程序设计艺术》,发现根本看不懂。于是又买了中文版的《算法导论》--至少能看懂了,听说也是很不错的一本书。 书有了,如何学习呢?我想用一个原创 2009-09-16 10:26:00 · 3313 阅读 · 2 评论 -
学习算法导论-插入查询(习题)
题目:有两个各存放在数组A和B的n位二进制整数,考虑它们相加,它们的和以二进制形式存放在具有(n+1)个元素的数组中。 我的想法是传入两个整数,然后将这两个整数放入数组中,然后相加。不失一般的,我这里假设n为4,这样传入的值不能超过16,代码如下: public void add2(int a, int b) { int[] A = new int[]原创 2009-09-18 15:31:00 · 481 阅读 · 0 评论 -
学习算法导论-合并排序
采用分治模式处理,将n个数据分为n/2的两块,递归的处理每个块(同样是分治模式),然后合并结果(合并过程为比较两块,将最小的数据放入数组中即可。 先奉上我自己先写的方法,该方法有很大的问题 /** * 我自己的merge,这是个奇怪的解法。 * MergeSort这个方法最大的毛病就在于将递归和处理放在一起了。实际上可以先递归,然后再处理。 *原创 2009-09-21 08:31:00 · 600 阅读 · 0 评论 -
学习算法导论-插入查询(递归实现)
采用分治模式实现: /** * 将current 插入到A中。这里完全符合分治法处理方式。 * @param A int[] * @param current int */ private void recursionsort(int[] A, int current) { if (current >0)原创 2009-09-22 08:17:00 · 615 阅读 · 3 评论 -
学习算法导论-选择排序
下面是选择排序的思路和我自己的实现。 首先找到A中的最小元素,并将其与A[0]的元素交换;接着找出A中的次小元素,并将其与A[1]交换,直至最后。 代码如下: /** * A是排序数组,最后打印出结果了 */ public void sort() { int[] A = new int[] {5, 7, 9, 3, 6,原创 2009-09-19 13:20:00 · 481 阅读 · 0 评论