- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 堆排序
堆排序 堆排序:是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。 是否稳定:不稳定 时间复杂度:O(N*lgN) 空...
2018-07-29 12:55:30 305
原创 RBTree——红黑树
RBTree RBTree:红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子简单路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡。 红黑树是平衡二叉搜索树的一种(平衡二叉搜索树中又有AVL Tree),满足二叉搜索树的条件外,还应买足下面的4个条件: 1. 每个节点不是红...
2018-07-28 18:23:35 648
原创 平衡搜索树——AVLTree
AVLTree 平衡搜索树:AVL树又称为高度平衡的二叉搜索树 性质: 1. 左子树和右子树的高度之差的绝对值不超过1 2. 树中的每个左子树和右子树都是AVL树 3. 每个节点都有一个平衡因子(balance factor–bf),任一节点的平衡因子是-1,0,1。(每个节点的平衡因子等于右子树的高度减去左子树的高度) 4.左孩子的值<父节点&...
2018-07-28 16:48:22 487
原创 希尔排序
希尔排序 希尔排序是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。 算法稳定性:不稳定 时间复杂度:O(N^2) 平均时间复杂度:O(N^1.3) 空间复杂度:O(1) 适用场景:优于直接插入排序,是直接插入排序的改进算法#include <stdio.h>v...
2018-07-28 14:12:07 303
原创 插入排序
插入排序 插入排序:有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序。插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序 算法稳定性:稳定 时间复杂度:O(N^2) 空间复杂度:O(1) 适用场合:数据较少,接近有序#...
2018-07-28 12:26:03 329
原创 选择排序
选择排序 选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 算法稳定性:不稳定 时间复杂度:O(N^2) 空间复杂度:O(1)#include <stdio.h>#include <assert.h>void...
2018-07-27 19:06:23 375
原创 文件操作(流)
文件操作打开流: FI LE * fopen ( const char * filename, const char * mode ); 第一个参数 文件名 第二个参数 方式关闭流 int fclose ( FILE * stream ); r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text...
2018-07-27 18:22:05 466
原创 fseek,fflush,rewind,feof,ftell,输入输出函数
1。 模拟实现strcpy (字符串拷贝)(后者拷贝到前者)#include #include #include char *my_strcpy (char *str_des , const char *str_source){ char *ret = str_des; assert(str_des); assert(str_source); wh
2018-07-27 18:19:20 566
原创 结构体struct,枚举enum,联合union
结构体——struct 什么是结构体? 结构体是一些值的集合,这些值称为成员变量。结构体的每个成员可以是不同类型的变量,可以是标量、数组、指针,甚至是其他结构体。 结构体声明struct P{ int age; char name;};//struct P名字typedef struct{ int a;}S; //重命名...
2018-07-27 12:04:09 681
原创 C语言中的数据存储
一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同的类型而决定的。 那接下来我们谈谈数据在所开辟内存中到底是如何存储的? 在32位系统中,一个int为四个字节,数据在内存中以补码的形式存储。 正数的补码是本身 负数的补码等于它取反加1 如上图所示 -2在内存的存储格式为fe ff ff ff 这儿便会有人要提出不应该是ff ff ff...
2018-07-26 16:38:12 6518
文件压缩源码
2018-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人