![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法(Algorithm)
a793408199
这个作者很懒,什么都没留下…
展开
-
数据结构之对象排序
前面写的几个排序的算法都是对整形的数据进行排序,而我们在日常生活中要处理的东西并不全都是这些整形的数据,还有一些其他的东西,比如对一堆人按照姓氏的前后进行排序,或则是对一些产品按照出产的日期进行排序,等等等等,这些东西都不是我们做排序算法的时候用来做测试的数据类型,但是我们要知道一个理念,就是我们从书上或则是其他的地方知道的常用的排序的方法也就只有那么一些,我们要做的只是稍微改...2014-04-30 20:09:08 · 198 阅读 · 0 评论 -
重走算法路之简单排序(冒泡)
上个学期学校开了数据结构的课,就这样酱油过来了,感觉弱弱的,随着年龄的增长,思维也有了一点点的转变,这个学期又重新捡起了,算法(Algorithm)和数据结构(data structure)是搞伊特(IT)的屌丝程序猿大学四年甚至是一生都要学习的东西,他的重要性就不多说了,搞这个的都懂,虽然做不了什么ACM的大神,也做不了什么算法的大牛,但是觉得这个东西对思维和眼界的开阔...2014-04-13 00:16:03 · 170 阅读 · 0 评论 -
重走算法路之希尔排序
希尔排序是在插入排序的基础上对插入排序进行了优化。我们知道插入排序的过程是将后面的要排序的数字依次和待排序前面的数字进行比较,然后判断大小,最后在进行交换。 这就存在一个很大的问题,就是如果最小的数字在最右边的话,按照我们排序的要求(顺序排列)这个最小的数字要依次和前面的n-1个数字进行比较,然后复制交换,所以插入排序的最大的缺点就是复制的次数过多。 ...2014-05-24 12:22:42 · 79 阅读 · 0 评论 -
重走算法路之归并排序
归并排序的思想是把一个要排序的数据分成两份,把每一份排好序,然后通过merge()(合并)方法把两个数组归并成一个有序的数组。。。 通过递归的方法。一份变两份,两份变四份,四份变八份。。。。当分到最后只有一个元素的时候,每一份都是有序的了,因为只有一个元素嘛。然后再把每一份排好序的merge()回来,也就是一个变两个,两个变四个,四个变 八个。。。。组成一个原来长...2014-05-18 00:32:46 · 86 阅读 · 0 评论 -
重走算法路之二分查找
今天读“谷歌三大论文”看到了“二分查找”这个词,突然一点印象都没有了,记性是被狗吃去了么,最主要的是平时用的少,又没怎么去看他,快点打开书,又看了一遍,再敲了一遍,写点东西,算是再次复习一下。 所谓“二分查找”从字面就可以知道他的意思,一个是“分”一个就是“找”,“分”就是指把“分数据”“找”也就是找数据,唉,又废话了。 具体一个例子,我们要在数...2014-05-16 21:16:03 · 94 阅读 · 0 评论 -
重走算法路之双向链表
前面翘的链表是单向的,也就是只能从一头开始遍历和操作,每个节点用next关联到下一个节点,今天把双向的敲了一下,双向的就多了一个previous,用它来关联它的上一个节点,这样,链表可以实现从前面操作,也可以从后面操作,单向的链表也就是只有一个头,双向的链表就是两个头,从哪个头都可以对连彼岸进行操作,所谓的操作也就是插入,删除,遍历,打印,等等等等 下面是代码,还...2014-05-11 02:11:30 · 84 阅读 · 0 评论 -
重走算法路之用链表排序(一)
昨天把链表敲了一下,我们可以实现一个不要为他内存浪费和溢出而伤脑筋的存放数据的结构,我们以前对数据进行排序的时候都是喜欢放在数组里面,用数组来保存我们的排好序的数据,同时在数组中对数组进行操作,实现排序。今天就用昨天的链表来给数据排排序,在插入元素节点的时候就进行判断,然后插入,最后得到的链表也就是一个排好了序的链表。 用这个思想我们可以把他用到一个高效的排序机...2014-05-10 01:31:35 · 136 阅读 · 0 评论 -
重走算法路之链表指定节点属性的删除和插入
我们知道数组是我们很熟悉的一种存放数据的东西,但是它的问题我们也知道,一经创建它的大小也就固定了,固定存在着一个重要的问题“内存浪费”和“内存溢出”,也就是它不能动态的变换它的大小,而链表就很好的解决了这个问题,它是动态的,大小随着加入和删除节点而变化着自己的大小,java自带的垃圾回收也会处理被删除的节点。释放出内存。我们还知道,数组在查看元素上面是它的强项,同过它的下标,时间复...2014-05-09 01:05:22 · 81 阅读 · 0 评论 -
一致性哈希算法
参考自:http://blog.csdn.net/wuhuan_wp/article/details/7010071 一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果...2014-05-08 14:22:59 · 98 阅读 · 0 评论 -
重走算法路之循环队列的实现
前天写了栈的实现,今天到队列了,好像明天要期中考试,还是三科,次奥,考吧考吧,五一三天已经贡献给你们了,考成什么样我也认了,毕竟智商在这里。说好的一天来一发,不要说我水,其实我还真的是水,上个学期数据结构课打酱油,这个学期又自己抱本书从第一页开始恭恭敬敬地学,不敢跳过一个字。估计是脑子里面灌浆了。上学期不认真。前车之鉴,希望筒子们好好的把数据结构学好。希望老夫子还为时不晚。...2014-05-04 20:20:19 · 86 阅读 · 0 评论 -
重走算法路之数组栈的实现
对待就要来临的期中考试,感觉头好大,看书看不下去的时候就敲敲代码,换个口味,今天敲了一下栈,是用数组实现的,当然也可以用链表来实现。 栈的最大的特点就是“先进后出”,其实很像我们平时一起交作业,老师批改作业,越早交老师往往是最后才帮你改的,因为你的作业本被别人的作业本压在了下面嘛。但是也有喜欢好学生的老师,他会首先把成绩好的同学的作业或者卷子拿出来改,这样就不是...2014-05-01 16:53:50 · 134 阅读 · 0 评论 -
重走算法路之简单排序(插入)
今天继续排序之路,今天要贴出的是插入排序,也属于简单的排序,对于数量小的排序,它还是一个很有效的算法, 以下属于本人 粗暴讲解 原理: 它的工作方式很像人们打牌插牌一样,从起得第一张牌开始,然后接下来的到的牌如果比手里的牌大就放后面,如果比前面的牌小就放在前面,一样大的就和当前的牌搁一起就可以了,起...2014-04-14 00:49:53 · 95 阅读 · 0 评论