数据结构
文章平均质量分 74
Z18_28_19
在这个圈子里混了很多年了,总觉得有写点东西的必要,管他好的,坏的,对的,错的!
展开
-
数据结构开篇-基础
大学时候,就对数据结构,敬而远之,不知道,是老师的问题,还是自己的愚钝,反正一直也不喜欢这门课程。工作的几年,还好,基本也没怎么用,也许是得过且过吧,一直也没怎么关注它。直到最近,感到自己不会的东西,越来越多,一直想看这,又想学那,也许,真像别人说的,我们就像一个中心,在计算机的空间中,行走,当你越走越远的时候,以你行走的距离为半径,画一个圆,你会发现,当你行走得越深,这个圆会越来越大,也就是,你原创 2012-11-12 21:04:22 · 691 阅读 · 0 评论 -
数据结构_二项堆之一
今天,我们主要来看一种可合并堆,二项堆。后面还会介绍斐波那契堆。我们这里可以先回顾一下,之前的二叉堆:最大堆和最小堆的定义。最大堆,指的是,除了根结点以外,所有结点的值小于或等于其父结点的值。最小堆,正好相反,结点的值大于或等于其父结点的值。我们在堆排序算法中,使用的最大堆,最小堆通常在构造优先队列的时候使用。 可合并堆一般支持如下的五种操作: MAKE-HEAP():原创 2013-03-11 21:37:01 · 1014 阅读 · 0 评论 -
数据结构_B树
// 数据结构_B树.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include /*B树是为了磁盘或者直接存取辅助设备而设计的一种平衡二叉树B树与红黑树主要的不同在于,B树的结点可以有很多个子女,从几个到几千个相似在于,每颗含有n个原创 2013-01-24 20:37:31 · 925 阅读 · 0 评论 -
数据结构_AVL树
// 数据结构_AVL树.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include /*在计算机科学中,AVL树是最先发明的自平衡二叉查找树。AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E原创 2013-01-23 21:28:56 · 806 阅读 · 0 评论 -
数据结构_红黑树
// 数据结构_红黑树.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include /*红黑树我们知道一颗高度为h的二叉查找树,可以实现任何一种基本的动态集合操作其时间都是 O(h),当树的高度很低时,这些操作会很快,但当树的高度很高时,原创 2013-01-10 21:00:32 · 534 阅读 · 0 评论 -
数据结构_二叉查找树
坚持,做一件事不难,难的是,一直坚持做一件事!在这中间,肯定有这个那个的牵绊,但自己的目标要明确,一直努力。// 数据结构_二叉查找树.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include typedef struct TWOTR原创 2013-01-07 21:43:59 · 457 阅读 · 0 评论 -
数据结构_计数排序
// 数据结构_记数排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include /*计数排序计数排序假设n个输入元素中的每一个都是介于0到k之间的整数,此处k为某个整数计数排序的运行时间为n*//*算法导论中的伪代码COUN原创 2013-01-04 19:35:21 · 634 阅读 · 0 评论 -
数据结构_基数排序
// 数据结构_基数排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include /*基数排序,使用记数排序,递归的从最低位到最高为进行排序*//*这里我们只考虑十进制数*//*基数排序,一般使用在都是同样的位数的数进行排序*原创 2013-01-04 19:57:48 · 680 阅读 · 0 评论 -
数据结构_桶排序
// 数据结构_桶排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include /*当桶排序的输入符合均匀分布时,即可以以线性期望时间运行*//*算发导论中的伪代码*//*BUCKET-SORT(A)1 n 2 for i原创 2013-01-04 21:13:03 · 1183 阅读 · 0 评论 -
数据结构_冒泡排序
// 数据结构_冒泡排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include /*算法导论的伪代码BUBBLESORT(A)1 for i 2 do for j 3 do if A原创 2013-01-03 20:07:42 · 528 阅读 · 0 评论 -
数据结构_快速排序
// 数据结构_快速排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include /*快速排序跟合并排序类似,也是采用分治法进行,但是它是一种就地排序,所以又略有不同因为两个数组已经是排好序了,将他们合并不需要操作,整个数组已排序它的原创 2013-01-03 21:19:32 · 578 阅读 · 0 评论 -
数据结构_合并排序
// 数据结构_合并排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include /*合并排序又叫归并排序,它采用分治法,递归来进行排序,将原问题分解成一系列的子问题递归求各个子问题的解,将子问题的结果合并成原问题的解算法导论中的伪代原创 2013-01-03 20:10:21 · 547 阅读 · 0 评论 -
数据结构_插入排序
// 数据结构_插入排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #define array_length 100/*算法导论中的伪代码INSERTION-SORT(A)1 for j = 2 to leng原创 2013-01-03 20:08:59 · 326 阅读 · 0 评论 -
数据结构_堆排序
最近一段时间,是比较闲,但是冬天了,好冷,所以一直没有更新博客,后面要发扬不怕苦的精神。又买了200块的书,有得看了,趁现在不忙的时候,将数据结构相关的基础打好。 一直在看几种排序,从今天开始的一段时间,将排序相关整理到博客上。/*堆排序,借助完全二叉树,来排序,规我们用最大堆来排序,最大堆规定父亲结点的值大于等于子结点,根据二叉树性质,父亲结点的值的下标为i,那原创 2013-01-03 19:55:40 · 482 阅读 · 0 评论 -
数据结构-线性表
今天还真是无语,明明可以早点下班。哎!现在每天都不知道干什么了,看点CSDN的文章,打开电脑,不知道干什么,看了看163的新闻,对着电脑发呆!后来想到应该更新下博客,所以就坐下来,写写! 今天看看线性表,估计写不完,准备用两天来写。 线性表,顾名思义,线性,直线也,其实这里我们叫做线段最好,因为直线没有两端,没有长度,线段有两个端点,原创 2012-11-19 20:24:45 · 475 阅读 · 0 评论 -
数据结构_线性表实现
今天中午的时候,看到了一篇文章,有点惊醒,就是讲的我们这样的快到30岁的人,如果现在我们的目标还不明确,赶紧制定,赶紧明确,我们已没有时间用来浪费,现在还为时不晚,赶紧加油,35岁,是一个坎,就是我们自己愿意,也没有多少公司愿意请这样的人。扳指数数,发现自己也快了,不能这样昏昏的过。要加油。 上一篇,我们讲到了数据结构中的线性表,众所周知,线性表有两种存储结构,一种原创 2012-11-27 21:48:10 · 471 阅读 · 0 评论 -
数据结构_动态规划
和分治法一样,动态规划是通过组合子问题的解从而解决整个问题的。从前面我们知道,分治法是将问题划分成一些独立的子问题,递归的求解各子问题。然后合并子问题的解而得到原问题的解。与此不同的,动态规划适用于子问题不是独立的情况。也就是各子问题包含公共的子子问题。在这种情况下,若用分治法则会做许多不必要的工作,即重复的求解公共的子子问题。动态规范算法对每个子子问题只求解一次。 动态规范通常应用于原创 2013-03-11 21:38:24 · 2035 阅读 · 0 评论