
数据结构与算法之C语言
文章平均质量分 57
Brain_hao
这个作者很懒,什么都没留下…
展开
-
数据结构===》平衡二叉树--》插入,删除
平衡二叉树(Balancedbinary tree)是由阿德尔森-维尔斯和兰迪斯(Adelson-Velskiiand Landis)于1962年首先提出的,所以又称为AVL树。定义:平衡二叉树或为空树,或为如下性质的二叉排序树: (1)左右子树深度之差的绝对值不超过1; (2)左右子树仍然为平衡二叉树. 平衡二叉树可以避免排序二叉树深度上的极度恶化,使树的高度维持在原创 2016-11-18 17:28:55 · 398 阅读 · 0 评论 -
数据结构===》排序之希尔排序
3.==============================================================希尔排序============================================================== 1. 希尔排序的基本思想 希尔排序方法又称为缩小增量排序,其基本思想是是,先对待排序列进行“宏观原创 2016-12-03 10:54:42 · 965 阅读 · 0 评论 -
数据结构===》排序之直接插入和折半插入
关键字 是数据元素中的某个数据项。如果某个数据项可以唯一地确定一个数据元素,就将其称为主关键字;否则,称为次关键字。 排序 是把一组无序地数据元素按照关键字值递增(或递减)地重新排列。如果排序依据的是主关键字,排序的结果将是唯一的, 排序算法的稳定性 如果在待排序的记录序列中有多个数据元素的关键字值相同,经过排序后,这些数据元素的相对次序保持不变,则称这种排序算法原创 2016-12-02 17:00:09 · 592 阅读 · 0 评论 -
C语言文件的随机读写
文件的随机读写实现随机文件的读写的关键是要按要求移动位置指针,这称为文件的定位文件定位函数 rewind 和 fseek移动文件内部位置指针的函数主要有 rewind() 和 fseek()rewind()用来将位置指针移动到文件的开头,前面以多次使用过, 他的原型为: void rewind(FILE原创 2016-11-27 19:00:15 · 4460 阅读 · 0 评论 -
数据结构===》排序之基数排序
8.==========================================基数排序====================================原创 2016-12-03 11:14:08 · 483 阅读 · 0 评论 -
数据结构==》排序之归并排序
7===============================================归并排序=====================================原创 2016-12-03 11:13:04 · 265 阅读 · 0 评论 -
数据结构====》排序之选择排序
6=============================简单选择排序===============================================7.==============================堆排序===================================================原创 2016-12-03 11:11:39 · 263 阅读 · 0 评论 -
数据结构===》排序之交换排序
4.========================================================冒泡排序=====================================================================5=========================================================快速排序=原创 2016-12-03 11:07:22 · 308 阅读 · 0 评论 -
数据结构===》栈和队列(复习心得)
1.1 栈的定义栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示:结论:后进先出(Last In First Out),简称为LIFO线性表。栈的基本运算有六种:构造空栈:InitStack(S)、判栈空: StackEmpty(S)、判栈满: StackFull(S)、进栈: Push(S,x)、可形象地理原创 2016-11-26 17:31:36 · 1351 阅读 · 0 评论 -
数据结构====》B-》树
B 树是为了磁盘或其它存储设备而设计的一种多叉(下面你会看到,相对于二叉,B树每个内结点有多个分支,即多叉)平衡查找树。B 树又叫平衡多路查找树。一棵m阶的B 树 (m叉树)的特性如下:树中每个结点最多含有m个孩子(m>=2);除根结点和叶子结点外,其它每个结点至少有[ceil(m / 2)]个孩子(其中ceil(x)是一个取上限的函数);若根结点不是叶子结转载 2016-11-20 12:49:04 · 418 阅读 · 0 评论 -
哈夫曼树与哈夫曼编码
在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN)树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如 JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树, 是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点 的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结点的路径长原创 2016-11-02 13:23:54 · 326 阅读 · 0 评论 -
数据结构===》线索二叉树
定义:按照某种遍历方式对二叉树进行遍历,可以把二叉树中所有结点排序为一个线性序列。在该序列中,除第一个结点外每个结点有且仅有一个直接前驱结点;除最后一个结点外每一个结点有且仅有一个直接后继结点。这些指向直接前驱结点和指向直接后续结点的指针被称为线索(Thread),加了线索的二叉树称为线索二叉树。n个结点的二叉链表中含有n+1个空指针域。利用二叉链表中的空指针域,存放指向结点在某种遍历次序转载 2016-11-01 13:08:44 · 250 阅读 · 0 评论 -
数据结构与算法====》二叉树相关操作
二叉树是一种非常重要的数据结构,很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式,因为树的本身就是用递归定义的,因此采用递归的方法实现三种遍历,不仅代码简洁且容易理解,但其开销也比较大,而若采用非递归方法实现三种遍历,则要用栈来模拟实现(递归也是用栈实现的)。下面先简要介绍三种遍历方式的递归实现,再详细介绍三种遍历方式的非递归实现。1、先序遍历——按照“根转载 2016-11-01 11:08:47 · 239 阅读 · 0 评论 -
数据结构======栈和队列
栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按"后进先出"的规则进行操作,而队列必须按"先进先出"的规则进行操作。和线性表相比,它们的插入和删除操作受更多的约束和限定,故又称为限定性的线性表结构。栈的定义 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。进行插入和删除的一端被称为栈原创 2016-11-06 15:39:08 · 330 阅读 · 0 评论 -
数据结构====二叉排序树的创建
二叉排序树又叫二叉查找树,英文名称是:Binary Sort Tree. BST的定义就不详细说了,我用一句话概括:左 。 根据这个原理,我们可以推断:BST的中序遍历必定是严格递增的。 在建立一个BST之前,大家可以做一下这个题目(很简单的): 已知,某树的先序遍历为:4, 2, 1 ,0, 3, 5, 9, 7, 6, 8. 中序遍历为: 0, 1, 2原创 2016-11-13 17:00:36 · 651 阅读 · 0 评论 -
杨辉三角具体实现和图解
整个结构: 在这里我就直接贴代码了 写的很挫 欢迎各位大v提出宝贵的意见function.h#ifndef FUNCTION_H_INCLUDED#define FUNCTION_H_INCLUDED#define OK 1#define ERROR 0//队列数据类型的定义typedef int QElemType;typedef int Status;//链队结点定义t原创 2017-05-29 09:24:27 · 1613 阅读 · 0 评论