
数据结构和算法
lifeisfirst
这个作者很懒,什么都没留下…
展开
-
设计模式(http://blog.youkuaiyun.com/zhangerqing/article/details/8239539)
Java之美[从菜鸟到高手演变]之设计模式分类: J2SE 经验系统架构 2012-11-29 10:26 3517人阅读 评论(24)收藏 举报设计模式Java系统架构 设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(D转载 2012-12-03 18:01:05 · 2250 阅读 · 0 评论 -
链表 http://hi.baidu.com/silverxinger/item/3adfff97fcff3245f14215a6
数据结构-链表-奇思妙想基本函数1,构造节点: //定义节点类型struct Node{int value;Node*next;}; 2,分配节点//之所以要分配节点原因是需要在分配函数中进行初始化,并且也利于判断是否分配成功。Node* applyNode(); 3,在头部增加节点//增加节点在头部(无头结点),返回值的原因是由于传入并转载 2012-12-05 10:05:20 · 1172 阅读 · 0 评论 -
Interview
1.冒泡排序算法,以及集中排序实现。2.反转一个32数的第M和第n的二进制数,3.还有一个就是从链表中查找一个值,并且对链表进行反序。等链表操作4.做字符串和二叉树的笔试题5.数字和逻辑题;6.原创 2012-12-04 23:13:09 · 457 阅读 · 0 评论 -
KMP模式匹配
KMP算法 一种由Knuth(D.E.Knuth)、Morris(J.H.Morris)和Pratt(V.R.Pratt)三人设计的线性时间字符串匹配算法。这个算法不用计算变迁函数δ,匹配时间为Θ(n),只用到辅助函数π[1,m],它是在Θ(m)时间内,根据模式预先计算出来的。数组π使得我们可以按需要,“现场”有效的计算(在平摊意义上来说)变迁函数δ。粗略地说,对任意状态q=0,1,…,m和转载 2012-11-22 22:07:21 · 475 阅读 · 0 评论 -
汉诺塔算法
现在有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方,请问至少需要多少次移动?解决方案:class HanRuoTa {static long s=0;public static void main(String args[]) {转载 2012-11-22 22:45:48 · 549 阅读 · 0 评论 -
合并排序(http://blog.youkuaiyun.com/feixiaoxing/article/details/6846008)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面一篇博客提到的快速排序是排序算法中的一种经典算法。和快速排序一样,合并排序是另外一种经常使用的排序算法。那么合并排序算法有什么不同呢?关键之处就体现在这个合并上面。 合并算法的基本步骤如下所示: 1)把0~length-1的数组分成左数组和右数转载 2012-11-22 22:57:20 · 512 阅读 · 0 评论 -
快速排序 http://blog.youkuaiyun.com/feixiaoxing/article/details/6845132
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 快速排序是编程中经常使用到的一种排序方法。可是很多朋友对快速排序有畏难情绪,认为快速排序使用到了递归,是一种非常复杂的程序,其实未必如此。只要我们使用好了方法,就可以自己实现快速排序。 首先,我们复习一下,快速排序的基本步骤是什么: 1、转载 2012-11-22 22:59:45 · 751 阅读 · 0 评论 -
白话经典算法系列之六 快速排序 快速搞定
白话经典算法系列之六 快速排序 快速搞定快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对转载 2013-02-28 10:40:52 · 507 阅读 · 0 评论