数据结构与算法
文章平均质量分 65
夏天喝果汁的C
这个作者很懒,什么都没留下…
展开
-
白话经典算法系列之三 希尔排序的实现
转自:http://blog.csdn.net/morewindows/article/details/6668714希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列转载 2015-05-15 14:50:35 · 457 阅读 · 0 评论 -
【学习笔记】求三个数的中间值
QAQ原创 2015-09-02 13:31:36 · 8139 阅读 · 1 评论 -
【学习笔记】对 (x&y) + ( (x^y)>>1 ) 的理解
.原创 2015-09-01 23:39:00 · 965 阅读 · 0 评论 -
【学习笔记】二叉树非递归遍历
摘要祭BUG原创 2015-07-10 20:36:26 · 432 阅读 · 0 评论 -
白话经典算法系列之二 直接插入排序的三种实现
转自 :http://blog.csdn.net/morewindows/article/details/6665714直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 设数组为a[0…n-1]。1. 初始时,a[0]自成1个有序区,无序转载 2015-05-15 14:47:19 · 421 阅读 · 0 评论 -
白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
转自: http://blog.csdn.net/morewindows/article/details/6671824 直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。设数组为a[0…n-1]。1.转载 2015-05-15 14:54:05 · 363 阅读 · 0 评论 -
【学习笔记】数据结构与算法基础学习:链表
随学习深入将会持续更新,摘要祭键盘原创 2015-05-14 19:23:38 · 432 阅读 · 0 评论 -
【学习笔记】把一个数字看成字符串,问它是不是一个回文数?
摘要祭天原创 2015-06-02 20:25:59 · 686 阅读 · 0 评论 -
白话经典算法系列之七 堆与堆排序
转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/6709644堆的操作——插入删除下面先给出《数据结构C++语言描述》中最小堆的建立插入删除的图解,再给出本人的实现代码,最好是先看明白图后再去看代码。堆的插入每次插入都是将新数据放在数组最后。可以发现从这个新数转载 2015-05-15 15:44:47 · 540 阅读 · 0 评论 -
二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)的比较
转自:http://www.iteye.com/topic/614070我们这个专题介绍的动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。这四种树都具备下面几个优势:(1) 都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有限的改变树的形态。而这些操作所付出的转载 2015-05-15 21:52:24 · 544 阅读 · 0 评论 -
白话经典算法系列之六 快速排序 快速搞定
转载请标明出处,原文址:http://blog.csdn.net/morewindows/article/details/6684558快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现转载 2015-05-15 15:22:55 · 491 阅读 · 0 评论 -
白话经典算法系列之五 归并排序的实现
转自:http://blog.csdn.net/morewindows/article/details/6671824 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数转载 2015-05-15 15:03:56 · 426 阅读 · 0 评论 -
白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇
转自:http://blog.csdn.net/morewindows/article/details/7961256 在我的博客对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法进行了详细的讲解,并做成了电子书以供大家下载。下载地址为:http://download.csdn.net/detail/morewindows/转载 2015-05-15 15:56:31 · 361 阅读 · 0 评论 -
白话经典算法系列之一 冒泡排序的三种实现
冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,如果N不为0就重复前面二步,否则排序完成。 按照定义很容易写出代码:[cpp]转载 2015-05-15 14:43:45 · 382 阅读 · 0 评论 -
【学习笔记】大数阶乘
23:00 焦虑的思考原创 2015-09-02 23:10:20 · 525 阅读 · 0 评论