数据结构
文章平均质量分 54
zlb1051
这个作者很懒,什么都没留下…
展开
-
二叉树的创建
二叉树:二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。 采用先序且递归创建二叉树。 二叉树结点表示如下typedef char BTDataType; typedef struct BinaryTreeNode { BTDataType data; struct BinaryTreeNode *left; struct B原创 2018-02-26 17:58:40 · 203 阅读 · 0 评论 -
删除二叉搜索树中的某个结点
删除操作的原型为 int DeleteBSTree(PNode* pRoot, int data),返回类型int用来表示删除是否成功,其中PNode表示如下typedef int DataType; typedef struct BSTreeNode { DataType _data; struct BSTreeNode *_left; struct BSTreeNode *_right;...原创 2018-02-28 22:22:55 · 581 阅读 · 0 评论 -
堆排序 快速排序C实现
堆排序 堆:堆是一棵完全二叉树,它具有以下的性质,每个结点的值大于等于其左右孩子结点的值,称为大顶堆;或每个结点的值小于等于其左右孩子的值,称为小顶堆。基本原理:首先需创建一个大顶堆(升序),将堆顶与数组最后一个元素交换,此时堆不再满足堆的性质,因此我们再对剩下的n-1个元素进行调整,使其重新成为一个大顶堆。再将堆顶元素与倒数第二个元素交换,交换之后又不满足堆的性质,此时再对剩余的n-2个元素进行...原创 2018-03-22 13:22:06 · 438 阅读 · 0 评论 -
直接插入排序和冒泡排序C实现
直接插入排序 1.基本思想:直接插入排序是一种简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的,记录数加1的有序表。 我们以整形数组为例,则上面说的记录可以理解成整形数据。当数组中只有一个元素时,则数组已然有序。若数组有多个元素,则从第二个元素开始依次查找待插入的位置,并将待插入的位置与元素位置之前的元素向后移动,然后将待插入的元素插入对应的位置。 2.例子原创 2018-03-21 14:36:55 · 474 阅读 · 0 评论