数据结构与算法
yuanzhangmei1
这个作者很懒,什么都没留下…
展开
-
数据结构概念
数据(Data) 数据是信息的载体。它能够被计算机识别、存储和加工处理,是计算机程序加工的"原料"。 随着计算机应用领域的扩大,数据的范畴包括: 整数、实数、字符串、图像和声音等。数据元素(Data Element) 数据元素是数据的基本单位。数据元素也称元素、结点、顶点、记录。 一个数据元素可以由若干个数据项(也可称为字段转载 2012-08-26 19:59:04 · 867 阅读 · 0 评论 -
二叉树的遍历:前序,中序,后序,层序--包括递归和非递归实现
/**//******************************************************************** created: 2005/12/30 created: 30:12:2005 10:39 filename: bintree.h author: Liu Qi转载 2013-09-14 09:43:45 · 578 阅读 · 0 评论 -
头结点与头指针区别
头指针与头结点的异同点: 头指针: 头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针; 头指针具有标示作用,所以常以头指针冠以链表的名字; 无论链表是否为空,头指针均不为空。头指针是链表的必要元素。 头结点: 头结点是为了操作的统一和方便而原创 2013-04-23 17:08:16 · 3128 阅读 · 1 评论 -
Mysql5.5.22源码编译安装
mysql 最新的版本都需要cmake编译安装,估计以后的版本也会采用这种方式,所以特地记录一下安装步骤及过程,以供参考。注意:此安装是默认centos下已经安装了最新工具包,比如GNU make, GCC, Perl, libncurses5-dev,如果在编译安装过程中发现有缺失的工具包,先yum install 单独下载安装再继续即可。以下安装中涉及的几点需要提前说明的问转载 2013-01-16 15:45:33 · 405 阅读 · 0 评论 -
哈夫曼编码的C语言实现
我们设置一个结构数组 HuffNode 保存哈夫曼树中各结点的信息。根据二叉树的性质可知,具有n个叶子结点的哈夫曼树共有 2n-1 个结点,所以数组 HuffNode 的大小设置为 2n-1 。HuffNode 结构中有 weight, lchild, rchild 和 parent 域。其中,weight 域保存结点的权值, lchild 和 rchild 分别保存该结点的左、右孩子的结点在数组转载 2013-01-15 15:18:41 · 1071 阅读 · 0 评论 -
哈夫曼编码简介
哈弗曼编码几乎是所有压缩算法的基础,其实这个算法并不复杂,简单的理解就是,如何用更短的bit来编码数据。 我们知道普通的编码都是定长的,比如常用的ASCII编码,每个字符都是8个bit:字符编码A00101001B00101010C00101011…… 这样,计算机就能很方便的把由0转载 2013-01-15 14:52:00 · 438 阅读 · 0 评论 -
六之再续:KMP算法之总结篇(必懂KMP)
引记 此前一天,一位MS的朋友邀我一起去与他讨论快速排序,红黑树,字典树,B树、后缀树,包括KMP算法,唯独在讲解KMP算法的时候,言语磕磕盼盼,我想,原因有二:1、博客内的东西不常回顾,忘了不少;2、便是我对KMP算法的理解还不够彻底,自不用说讲解自如,运用自如了。所以,特再写本篇文章。由于此前,个人已经写过关于KMP算法的两篇文章,所以,本文名为:KMP算法之总结篇。 本文转载 2013-01-14 19:29:26 · 720 阅读 · 0 评论 -
如何判断单链表是否存在环
如何判断单链表是否存在环 给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题转载 2012-11-27 09:01:12 · 449 阅读 · 0 评论 -
算法的描述
数据的运算通过算法(Algorithm)描述,讨论算法是数据结构课程的重要内容之一。1.算法 非形式地说,算法是任意一个良定义的计算过程。它以一个或多个值作为输入,并产生一个或多个值作为输出。(1)一个算法可以被认为是用来解决一个计算问题的工具。(2)一个算法是一系列将输入转换为输出的计算步骤。【例3.1】有这样一个排序问题:将一个数字序列排序为非降序。 该问题的形式定转载 2012-08-26 21:04:59 · 3645 阅读 · 0 评论 -
九种常用排序的性能分析总结
间间断断的将9种排序实现,并且将其以博客笔记的形式记录下来;现在就该来综合的分析这九种排序,让我们先来看看其算法复杂度和稳定性的分析结果:算法复杂度以及稳定性分析算法名称平均时间辅助空间稳定性冒泡排序O(n2)O(1)是选择排序O(n2)O(1)否插入排序O(n2)O(1)是自底转载 2013-09-20 17:31:49 · 701 阅读 · 0 评论