自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 二叉树的深入理解

树结构相对线性表比较复杂,要存储表示起来就比较麻烦,既要保存值域,也要保存节点和节点之间的关系,实际中树有很多种表示方式如:双亲表示法,孩子表示法,孩子双亲表示法以及孩子兄弟表示法等。树是一种非线性的数据结构,它是由n (n>=0)个有限结点组成一个具有层次关系的集合,把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,叶朝下的。(4)双亲节点和父亲节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;(5)孩子节点和子节点:一个节点含有的子树的根节点称为该节点的子节点;

2024-05-06 21:04:27 640

原创 栈与队列的关系

如果操作系统课程讲解生产者消费者模型时,可以使用循环队列,环形队列可以使用数组实现,也可以使用循环链表实现。栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。队列也可以数组和链表的实现,使用链表的结构实现更优一些,因为如果使用数据的结构,出队列在数组上出数据,效率会比较低。队列:只允许在一端进行插入数据操作,在另一端进行数据操作的特殊线性表,队列具有。入队列,进行插入的操作一端称为队尾出列:进行删除的一端称为队头。

2024-04-22 14:05:23 132

原创 顺序表与链表

静态顺序表的定长数组导致N定大了,空间多了浪费,少了不够用,所以现实中基本使用动态顺序表,根据需要动态的分配空间大小,所以下面我们实现动态顺序表。线性表是n个具有相同特性的数据元素的有限序列,线性表是一种在实际中广泛使用的数据结构,常见的数据表有:顺序表、链表、栈、队列、字符串…概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。(3)从堆是申请空间,是按照一定的策略来分配的,再次申请的空间可能连续,也可能不连续。(4)常用的两种结构。

2024-04-08 10:39:43 265 1

原创 时间复杂度和空间复杂度

一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道,但是我们需要每个算法都上机测试吗?是可以都上机测试,但很麻烦,所以才有时间复杂度这个分析方式,一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作执行次数,为算法的时间复杂度。在计算机发展的早期,计算机的存储容量很小,所以对空间复杂度很在乎,但经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度,所以我们如今已经不需要特别关注一个算法的空间复杂度。得到的结果就是大O阶。

2024-03-24 15:11:21 762 1

原创 编译和链接

(3)开始执行程序代码,这个时候程序将使用一个运行堆栈,存储函数的局部变量和返回地址,程序同时也可以使静态内存,存储于静态内存中的变量在程序的整个执行过程一直保留他们的值。由语义分析器来完成语义分析,即对表达式的语法层面分析编译器所做的分析是语义的静态分析,静态语义分析通常包括声明的匹配,类型的转换等,这个阶段会报告错误的语法信息。将源代码程序被输入扫描器,扫描器的任务就是简单的进行语法分析,把代码中的字符分割成一系列的记号(关键字、标识符、字面量、特殊符号等)。对下面代码进行编译的时候,会怎么做呢?

2024-03-04 22:11:07 752 1

原创 C语言的文件操作

每个被使用的文件都在内存中开辟了一个相对应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。我们程序的数据需要输出各种外部设备,也需要从外部设备获取数据,不同的外部设备输入和输出操作各不相同,为了方便程序员对各种设备进行方便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序推退出,数据就丢失了,等再次运行程序,是看不到上次程序的数据的,如果要将数据进行持久化的保存,我们可以使用文件。

2024-03-03 13:23:01 778

原创 结构体类型解说

(4)如果嵌套了结构体的情况,嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体中成员的对齐数)的整数倍‘答案是不行的,因为Node是对前面的匿名结构体类型重命名产生的,但是在匿名结构体内部提前使用Node类型来创建成员变量,这是不行的。仔细分析,其实是不行的,因为一个结构体中在包含同一个类型的结构体变量,这样结构变量的大小就会无穷的大,是不合理的。(2)如果传参一个结构体对象的时候,结构体过大,参数压栈的系统开销比较大,所以会导致性能的下降。

2024-02-20 17:24:49 712

原创 整数和浮点数在内存中的储存

对于11位的E,这个中间数是1023.比如,2^10的E是10,所以保存成32位的浮点数时,必须保存成10+127=137,即10001001.这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应一个字节,一个字节为8bit位,但是在C语言中除了8bit的char之外,还有16位的short型,32bit的long型(要看具体编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在一个如何将多个字节安排的问题。

2024-02-17 21:36:31 789 1

原创 分支与循环的理解

而 do while 循环下是直接进入循环体,执行循环语句,执行循环语句,然后在执行while 后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再循环。while 和for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环;|| :或运算符,就是或者 的意思(两侧至少有一个表达式为真,则为真,否则为假)。例子:输入一个整数,判断是否为奇数,如果是奇数则打印的是奇数,否则打印偶数。&& :与运算符,就是并且的意思(两则的表达式都为真,则为真,否则为假)。

2024-02-14 21:07:17 419 1

原创 字符函数和字符串函数的使用

在不同的系统和C语言标准库的实现中都规定了一些错误码,一般放在errno.h这个头文件中说明的,C语言程序启动的时候就会使用一个全面的变量errno来记录程序的当前错误码,只不过程序启动的时候errno是0,表示没有错误,当我们使用标准库中函数的时候发生了某种错误,就会讲对应的错误码,存放在error中,二一个错误码的数字很难理解是什么意思,所以每一个错误码都是有对应的错误信息的。(4)strtok函数的第一个参数不为NULL,函数将找str中第一个标记,strtok函数将保存它在字符串中的位置。

2024-02-13 23:29:36 591 1

原创 深入了解指针

我们知道在计算机上的CPU(中央处理器) 在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中,那我们买电脑的时候,电脑上内存是8GB/16GB/32GB等,那这些内存空间如何高效管理呢?上述代码中n是不能被修改的,其实n本质是变量,只不过被const修饰后,在语法上加了限制,只要我们在代码中对n就行修改,就不符合语法规则,就报错,致使没法直接修改n。但是也有局限性,void。(2)&数组名,这里的数组名表示整个数组,取出的是整个数组的地址(整个数组的地址和数组首元素的地址是有区别的)

2024-02-05 21:59:05 999

原创 扫雷游戏的设计

我们专门给一个棋盘(对应一个数组mine)存放布置好的雷的信息,在给另一个棋盘(对应另外一个数组show)存放排查出雷的信息。这样就做到了互不干扰。把雷布置到mine数组,在mine数组中排查雷,排查出的数据存放在show数组,并且打印show数组的信息后期排查参考。假设我们在排查(8,3)这个坐标时,我们访问周围的一圈8个黄色位置,统计周围个数是过程中,最下面的三个坐标会发生越界,为了防止越界我们需要在设计时,给数组扩大一圈。在9*9的棋盘上排雷时,我们可以在布置有雷的地方存放0,没有的地方存放1。

2023-12-24 22:37:55 386 1

原创 【无标题】怎么学习C语言

所以现在大三突然醒悟过来要好好学习,虽然说大三才刚开始学习不管从什么方面都会比较吃力,但是还是要相信“念念不忘,必有回响”。学习C语言,掌握最基础的知识,至少掌握一门编程语言,这样才能更好理解编程语言。但更多的是要熟练操作电脑,要花更多时间去体验,去实践。我会在每天晚上挤出一两个小时左右,能在电脑上实践,更多的学习还是要靠自己独立完成,同时也能更好巩固自己所学知识,坚持思考,创新和学习。之所以那么努力学习编程,是为了毕业以后能进华为公司,从而把自己所学知识淋漓尽致的发挥在工作上。

2023-10-11 17:53:29 26

空空如也

空空如也

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

TA关注的人

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