data structure
mnmlist_tata
这个作者很懒,什么都没留下…
展开
-
希尔排序的实现
希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高原创 2014-09-30 10:02:56 · 708 阅读 · 0 评论 -
二叉树递归创建和递归遍历
/*tips:最后返回指针很重要 bt root=NULL;root=Create(root);*/#include using namespace std; typedef struct Btree { char data; Btree *lchild,*rchild; }Btree,*bt; bt Create(bt T); void DisplayTree(bt T); void mai原创 2014-03-23 10:28:42 · 843 阅读 · 0 评论 -
二叉树的先序、中序、后序非递归遍历的实现
//好久不用C++许多语法细节都忘记了...费了九牛二虎之力还搞的那么复杂,Anyway,下午把二叉树的先序、中序、后序的非递归遍历给写出来了,还是有点成绩的。。。 //先序遍历,入栈的时候遍历。中序遍历,出栈的时候遍历元素。先序遍历和中序遍历真的就只有这么点区别 二叉树的创建 #include #include using namespace std; typedef原创 2015-01-08 16:50:35 · 964 阅读 · 0 评论 -
leetcode_3_Longest Substring Without Repeating Characters
本题要求的是字符串的非重复最长子串,为了在最长的时间内判断子串是否有重复,很自然地就想到了HashSet(当然还有更好的方法,我女朋友就用数组进行判重),从头开始遍历直到出现重复的字符为止,将非重复的字符数目存储起来,并查出从开始处到重复字符第一次出现的地方,删去HashSet中从开始到重复字符第一次出现的地方的所有元素,并将count减去从开始处至重复字符第一次出现的地方的个数,然后从出现重复字符的下一个字符开始统计。将字符串遍历一遍,然后统计出最长的子串所含有的字符个数即可。 这题最容易原创 2015-01-27 19:53:45 · 814 阅读 · 0 评论 -
leetcode_6_ZigZag Conversion
思路: 想了好久,思维总是局限在二维数组,找字符串的长度和二维数组的行列数之间的某种联系,想了好久,没有思路。 然后,然后就上网看了一下,有一种思路说是用字符串数组即可,就想到了StringBuilder,直接Append多好,这得比二维数组高级多少啊!然后就用StringBuilder做这道题了。原创 2015-01-28 08:23:09 · 909 阅读 · 0 评论