自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王洋的博客

走心的C —— Romantic_C

  • 博客(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

文件压缩源码

C++,windows。文件压缩过程:先统计文件中每个ASSCII码出现的次数,采用贪心算法,用文件中ASCII码出现的次数构建Huffman树,生成每个ASCII所对应的Huffman编码,然后将原文件中的ASCII码,替换成Huffman编码,并将文件中出现过的所有ASCII及其次数存入压缩文件起始位置,从而降低文件的大小。

2018-08-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除