<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Everglow21的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Everglow21</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Everglow21]]></copyright><item><title><![CDATA[数据结构算法]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/118032455</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/118032455</guid><author>Everglow21</author><pubDate>Fri, 18 Jun 2021 19:42:41 +0800</pubDate><description><![CDATA[算法：
数据结构中的算法，指的是数据结构所具备的功能
解决特定问题的方法，它是前辈们的一些优秀的经验总结

输入：一个算法有0个或多个输入，以刻画运算对象的初始情况，所谓0个输入是指算
		法本身定出了初始条件；
输出：一个算法有一个或多个输出，以反映对输入数据加工后的结果。没有输出的算
		法是毫无意义的；
确定性：算法中的每一条指令必须有确切的含义，不能产生多义性：
可行性：算法中的每一条指令必须是切实可执行的，即原则上可以通过已经实现的基
		本运算执行有限次来实现（也称之为有效性）；
有穷性：算法必]]></description><category></category></item><item><title><![CDATA[图型(Graph)结构]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/118032238</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/118032238</guid><author>Everglow21</author><pubDate>Fri, 18 Jun 2021 19:07:17 +0800</pubDate><description><![CDATA[图型(Graph)结构：
什么是图型结构：由有穷且非空的顶点和顶点之间的边组成的集合
通常表示：G(V,E) G表示一个图，V是图中顶点(元素)的集合，E是图中边(元素与
元素之间的关系)集合 

无向图：
    边用(A,B)方式表示，点与点之间是互通
    在无向图中，任意两个顶点之间都有边，则该无向图称为完全无向图
    在有n个顶点的完全无向图中，有  n*(n-1)/2  条边
有向图：
    边用&lt;A,B&gt;方式表示，仅表示从A点到B点的边，有向图中的边也称为弧，A是
    ]]></description><category></category></item><item><title><![CDATA[平衡二叉树、红黑树]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/118032206</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/118032206</guid><author>Everglow21</author><pubDate>Fri, 18 Jun 2021 19:03:20 +0800</pubDate><description><![CDATA[平衡二叉树：
前提是有序的二叉树，它的左右子树高度相差不超过1，它所有的子树也要满足这个
要求
如果一个有序的二叉树呈单支状(接近单支)，它的效率接近链表，查找、访问效率
较低，因此当达到平衡时它的效率才最高
由于节点的位置受到值的影响，因此只能调整，而不能强行修改

二叉树不平衡的基础原因：
        x                                   y
       / \                                /   \
      y   t1  ]]></description><category></category></item><item><title><![CDATA[树、二叉树]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/118032083</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/118032083</guid><author>Everglow21</author><pubDate>Fri, 18 Jun 2021 19:00:14 +0800</pubDate><description><![CDATA[树型结构：
1、树的基本概念
    一种具有一对多关系的数据结构
    有且仅有一个没有前趋的节点，被称为根节点
    注意：树中有树 树型结构具有递归性
    
2、树的表示方法：   倒悬树、嵌套法、凹凸法

3、树的专业术语：
    节点： 组成树的基础元素，同时它也是一棵树
    节点的度：  该节点的子树的数量
    树的度：    树中节的度的最大值
    树的深度：  树的层次数，从1层开始
    叶子结点：  节点的度为0的节点
    双亲和孩子： 节点的子树称为该节点的]]></description><category></category></item><item><title><![CDATA[循环链表、双向链表、通用链表]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/118032000</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/118032000</guid><author>Everglow21</author><pubDate>Fri, 18 Jun 2021 18:48:12 +0800</pubDate><description><![CDATA[封装链表：
原来的单链表添加效率低，非法下标的判断效率也很低

1、单链表  list.c
    节点：
        数据域
        指针域
    链表结构数据项：
        头指针
        尾指针
        节点数量

2、静态链表
    节点：
        数据域
        游标
    静态链表的节点存储在连续的内存，通过游标来访问下一个节点
    这种链表在插入、删除时只需要修改游标的值，而不用申请、释放内存从而达到链式结构的效果
    但是也牺牲]]></description><category></category></item><item><title><![CDATA[顺序表、链式表、栈、队列]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/117599984</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/117599984</guid><author>Everglow21</author><pubDate>Sat, 05 Jun 2021 17:08:21 +0800</pubDate><description><![CDATA[一、什么是数据结构
1、数据结构的起源
    1968年，美国高德纳教授，《计算机程序设计的艺术》的第一卷《基本算法》
    的出版，开创了数据结构和算法的先河
    数据结构是一门研究数据之间的关系和操作的学科，而非计算方法
    数据结构+算法=程序 沃斯，凭借这个观点，获得了图灵奖，这句话展示了程序
    的本质 

2、数据结构的基本概念
    数据：  所有能输入到计算机中，能被程序处理的描述客观事物的符号 (变量、数组)
    数据元素：  组成数据的，有一定意义的基本单位，也称为]]></description><category></category></item><item><title><![CDATA[文件读写]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/116209178</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/116209178</guid><author>Everglow21</author><pubDate>Tue, 27 Apr 2021 20:27:40 +0800</pubDate><description><![CDATA[文件IO
FILE *fopen(const char *path, const char *mode);

功能：打开或创建文件
path:文件的路径，字符串""
返回值：结构指针，不需要关心它的成员，只需要知道它是操作某个文件的凭证
mode：打开文件的模式,字符串""
    r:  以只读权限打开文件，如果文件不存在则打开失败
    r+: 在r的基础上增加写权限，如果文件不存在还是打开失败
    w:  以只写权限打开文件，如果文件不存在则新建，如果文件存在则清空打开
    w+: 在w的基]]></description><category></category></item><item><title><![CDATA[结构、联合、枚举]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/116208886</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/116208886</guid><author>Everglow21</author><pubDate>Tue, 27 Apr 2021 20:15:41 +0800</pubDate><description><![CDATA[一、结构
结构是由程序员设计的一种数据类型用于描述某一个事务的各项数据，
由若干个不同的基础数据类型组成

1、设计：
struct 结构体名
{
    数据类型1 成员名1；
    数据类型2 成员名2；
    ...
}；

2、定义结构变量：
struct 结构体名 结构体变量名；
注意：在定义结构变量时，struct 关键词不能省略

3、定义结构变量初始化：
struct 结构体名 结构体变量名 = {v1,v2,v3,...}；
注意：要根据设计结构体时成员顺序来初始化

struct 结]]></description><category></category></item><item><title><![CDATA[预处理指令、Makefile]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/116029070</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/116029070</guid><author>Everglow21</author><pubDate>Thu, 22 Apr 2021 20:04:38 +0800</pubDate><description><![CDATA[预处理指令
程序员所编写的C代码不能直接被编译器编译，需要一段程序把C代码翻译成
标准C代码。
翻译的过程叫预处理，执行翻译的程序叫做预处理器，被翻译的代码叫做预处
理执行指令，以#开头的都是预处理指令。

查看预处理结果：
    gcc —E code.c  把预处理结果直接显示到终端上
    gcc -E code.c -o code.i  把预处理的结果存储到.i结尾的文件中

一、预处理指令的分类
1、文件包含
#include 
     #include &lt;&gt;    从系统指定的]]></description><category></category></item><item><title><![CDATA[字符串]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/116027063</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/116027063</guid><author>Everglow21</author><pubDate>Thu, 22 Apr 2021 19:38:24 +0800</pubDate><description><![CDATA[字符串
1、字符：
    在计算机中字符是以整数形式存储的，当需要显示时根据ASCII表中的对应关
    系显示出相应的符号或图案
    '\0'    0
    '0'     48
    'A'     65
    'a'     97

2、串：
    是一种数据结构，是由一组连续的相同类型的若干个数据组成，末尾有一个结
    束 标志对这种数据结构进行处理都是批量处理，从开头位置到结束标志为止

3、字符串：
    由字符组成的串型结构，它的结束标志是'\0'

一、字符串的输入
]]></description><category></category></item><item><title><![CDATA[堆内存]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/115973160</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/115973160</guid><author>Everglow21</author><pubDate>Wed, 21 Apr 2021 19:34:55 +0800</pubDate><description><![CDATA[堆内存
是进程的一个内存段（text\data\bss\heap\stack），是由程序员手动管理
特点：足够大
缺点：使用麻烦

一、为什么使用堆内存
1、随着程序的复杂数据只会越来越多
2、其他内存段的申请释放不受控制，堆内存的申请释放是受控制的

二、如何使用堆内存
C语言中没有控制堆内存的语句，只能用C标准库提供的函数

 1.void *malloc(size_t size);

    功能：从堆内存申请一块连续的size个字节的内存，申请到的内存存储的
    	是什么内存不确定
    返回]]></description><category></category></item><item><title><![CDATA[指针]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/115971129</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/115971129</guid><author>Everglow21</author><pubDate>Wed, 21 Apr 2021 19:14:00 +0800</pubDate><description><![CDATA[指针
什么是指针：
指针是一种特殊数据类型，可以定义指针变量，指针变量中存储的就是整型数据，
代表内存的编号，通过这个编号可以访问到对应的内存。

为什么要使用指针
1、函数之间是相互独立的，但是有时候需要共享变量
函数传参是值传递的
全局变量容易命名冲突
使用数组还需要传递长度
命名空间是独立的，但是地址空间是同一个，所以指针可以解决这个问题
2、由于函数之间传参是值传递（内存拷贝），对于与字节数较多的变量，
值传递的效率较低，如果传递变量的地址只需要传递4/8字节（32/64位系统），
使用指针可以提高]]></description><category></category></item><item><title><![CDATA[进程 映像]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/115918479</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/115918479</guid><author>Everglow21</author><pubDate>Tue, 20 Apr 2021 20:46:21 +0800</pubDate><description><![CDATA[进程映像
    进程在内存中的分布情况
    程序：存储在磁盘上的可执行文件(二进制文件、脚本文件)
    进程：在系统中运行的程序
    
	text 代码段：   二进制指令、常量，只读，强制修改会产生段错误
    data 数据段：   存储初始化过的全局变量、初始化过的静态局部变量
    bss 静态数据段：存储未初始化过的全局变量、未初始化过的静态局部变量，该段内存会在运行时先清理为0
    heap  堆内存：  由程序员手动管理，比较麻烦，但是足够大
    stack 栈内存：]]></description><category></category></item><item><title><![CDATA[进制转换、原返补码]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/115917972</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/115917972</guid><author>Everglow21</author><pubDate>Tue, 20 Apr 2021 20:36:38 +0800</pubDate><description><![CDATA[进制转换、原返补码
一、十进制转二进制
求余法：用2对数据求余，然后再对商继续求余，直到商为0结束，过程中产生的余数就是该数据的二进制(逆序)
n % 2   =   0/1
商%2   =	 0/1
直到商为0，逆序
  例：
  127 % 2     1
  63  %2      1
  31  %2      1
  15  %2      1
  7   %2      1
  3   %2      1
  1   %2      1
  0
  0111 1111
  1、 求权法：
  数]]></description><category></category></item><item><title><![CDATA[C语言基础]]></title><link>https://blog.youkuaiyun.com/Everglow21/article/details/115466039</link><guid>https://blog.youkuaiyun.com/Everglow21/article/details/115466039</guid><author>Everglow21</author><pubDate>Tue, 06 Apr 2021 20:01:34 +0800</pubDate><description><![CDATA[C语言基础：
一、第一个程序
#include &lt;stdio.h&gt;
程序员所编写的代码并不是标准C代码，需要一段程序对它进行翻译标准的C代码，负责翻译的程序叫做预处理器，翻译的过程叫做预处理，被翻译的代码叫做预处理指令，在C语言中以#开头的都是预处理指令

#include 功能是把一个头文件导入到当前文件中
#include &lt;&gt; 从系统指定的目录下导入头文件
#include “” 先从当前目录下导入头文件，如果没有，再从系统指定目录下导入头文件
头文件：.h结尾，里面存储的是一]]></description><category></category></item></channel></rss>