数据结构及算法
文章平均质量分 82
blingpro
手机,互联网,科技,C ,java,TCP/IP,android,WM
向各位朋友学习,交流!
展开
-
递归回溯--八皇后问题
昨天晚上写的八皇后问题,原题目看摘要吧:主要利用递归到最深层后然后逐层回溯,在写完这个算法时,想了一个问题:如何在中途中断递归,直接跳出递归,网上有人说用goto,各说纷纭,不过我觉得直接设置一个bool变量,在要中断时设置bool,然后检测其值就应该可以了,不过还是要逐层返回,以后想到更好的再说.源程序;cpp文件:#include"8Queen.h"void main(){ ch原创 2007-03-07 15:23:00 · 1332 阅读 · 0 评论 -
SRM397 div2 500point(use bfs algorithm)
Problem Statement In The Sorting Game, you are given a sequence containing a permutation of the integers between 1 and n, inclusive. In one move, you can take any k consecut原创 2008-05-24 13:57:00 · 716 阅读 · 0 评论 -
topcoder SRM400 div2 1000point(pass system test)
#includeiostream>#includestdlib.h>#includevector>#includesstream>#includestring>#includemath.h>#includealgorithm>using namespace std;class LightedPanels...{ public: int minTouch(vector原创 2008-05-15 22:18:00 · 927 阅读 · 0 评论 -
最近做的几条题(3)Palindrome
Decription:"Palindrome" means a word or phrase such as "deed" or "level", which is the same when you read it backwards. Our task here is not to identify palindromes, because it is too easy a job.原创 2007-03-29 02:07:00 · 1073 阅读 · 0 评论 -
最近做的几条题(2)Fraction
Description:Consider the following set: S = { p/q | w y }That means S is the set of all rational numbers whose numerators are between w and x inclusive, and whose denominators are betw原创 2007-03-29 02:03:00 · 964 阅读 · 0 评论 -
最近做的几条题(1)Lowest Bit
Description: Given an positive integer A (1 For example, given A = 26, we can write A in binary form as “11010”, so the result is “10” in the form of binary, and the output should be 2. A原创 2007-03-29 02:00:00 · 1328 阅读 · 1 评论 -
排序算法(堆排序,归并排序,快排)
最近看数据结构写的两个排序算法,一个归并排序,一个堆排序,本来打算把快速排序也练一下,不过这几天都有点事,而且又忙一下毕设,就没有写,过几天再写;排序的理论上的时间复杂度的下届是:O(nlogn);归并排序的时间复杂度O(nlgn),缺点需要较多的存储空间 ;主要用于外排序堆排序的时间复杂度O(nlogn),是就地(in place)算法,空间利用少; 前天用比较多数据测试时,原创 2007-03-29 01:57:00 · 2384 阅读 · 0 评论 -
最优二叉树以及huffman编码
这个程序比较容易写,不过可能严格来说,一些高手会觉得比较恶心,因为用了冒泡排序,所以按书上的说法,应该用堆排序,比较效率高!但是还没看到堆排序,就用比较熟悉的冒泡先充着!然后huffman编码也比较好写,主要利用递归就搞掂了,下面是程序(写这个程序本来用template模板写的,但是后来发现如果用模板写,就不可以很好的将头文件与定义文件分开,所以最后就没有用模板,而是用int和char来实现!把原创 2007-03-20 00:23:00 · 1272 阅读 · 0 评论 -
RBTree(Insert & Delete)
这个红黑树想了很久,特别在做删除时候,搞不懂《算法导论》里面那个x是什么东西,最后想了很久,最终才知道那个x原来是删除后的节点的候补节点,y是被删除的节点,我在做这个程序的时候可能跟《算法导论》的处理有点不同,它里面的NULL节点与我的处理好象不一样(反正我看得不是很懂) ,我对于那个NULL节点,是在deletefixup里面new两个新的节点,不断的通过检测是否为空,来将其赋值,然后在每次原创 2007-03-20 00:37:00 · 1352 阅读 · 0 评论 -
普通二叉树
最近写的一些程序,基本上都是二叉树相关的东西,现在贴出来啦!下面一个是一棵普通的二叉树,包括增删改,前序,中序,后序,层次打印,还有打印数的高度,还有整棵数的树状打印(这个花了比较多时间,主要考虑如何控制空格的打印)测试程序不贴了,很乱!结果显示如下:f *原创 2007-03-20 00:07:00 · 1100 阅读 · 0 评论 -
KMP算法以及简单应用(查找单词)
上学期在重新学数据结构时,看到匹配算法时,看不懂,然后没时间去研究它,暂时放了下来,早段时间重新研究了 经典的KMP算法,终于搞懂了,自己写了一个kmp算法,并利用它进行了简单的应用,查找单词;例如Input A string as the Object string..sdfgdsgsdgrInput A string as the search string..sdTotal Count原创 2007-03-07 15:12:00 · 2159 阅读 · 0 评论 -
递归-24点
最近写d一个24点算法,不过同时可以实现输入一组数字,按所要求的答案,返回输出一条算术式子,在算法中主要利用了递归,逐层计算。例子:((((3*3)+4)/3)*6) = 26;下面为代码: cpp文件:#include"alg_Ans.h"void main(){ vectorInput; string Exp; int Con_record = 0; int Ans = 24;原创 2007-03-07 14:26:00 · 2645 阅读 · 0 评论 -
排序
最近有些实习招聘,突然感觉好久没复习数据结构,今天就来写了几个排序算法,找些写算法的感觉,好久没写过这些小技巧程序了,重新写写!1)随机数生成及检查排序结果函数 #ifndef ZBH_CGLOBAL_H#define ZBH_CGLOBAL_H #include#include#include#include namespace zbh{原创 2009-05-15 20:41:00 · 856 阅读 · 0 评论