自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高阶数据结构[2]图的初相识

本章将大家学习数据结构中的“图”。有学习过离散数学的同学对这一章节或许会比较熟悉。本篇文章将从最基础的概念开始介绍,一步步深入。让我们开始吧!本篇文章,我们对图进行了基本的了解。在后续讲解图的相关算法时,我们将以邻接矩阵的存储方式的基本框架来分析。

2024-06-16 16:23:43 877

原创 高阶数据结构[3]图的遍历

书接上回,这篇文章将在图的存储结构上学习图的遍历方法。图的遍历分为两种:1.BFS(Breadth First Search)宽度优先搜索2.DFS(Depth First Search)深度优先搜索下面让我们一起来学习吧!注意,接下来的讲解基于图的邻接矩阵存储结构。以上就是对图的遍历方式的讲解,这部分会比较困难,大家耐心学习。下一章节我们将讲解最小生成树的相关问题。

2024-06-16 16:23:28 451

原创 贪心算法[1]

这一题选自洛谷p1223题,根据题意我们可以知道要想得到最短的等待时间得先让排队时间少的先接水。下面介绍两种方法进行解决。我们需要计算出每一堆金币中单位价值。金币的属性涉及两个特征,重量和价值。由题意可知我们需要挑选出价值最大的物品放入背包,价值即单位价值。第二种方法,不使用结构体,使用vector+pair。首先用最最最经典的部分背包问题来引入贪心的思想。接水时间又要有序号且这两个元素是对应同一个人。,所以我们第一种方法使用结构体。所以我们使用结构体。

2024-05-28 21:50:45 551

原创 数据结构之队列

我们在这里使用链式的结构去实现队列。原因是,使用链式的结构对数据的删除更加方便,而如果使用数组式结构则会使效率降低。我们首先确定队列结构中的需要哪些变量。1.对每一个结点的定义。2.由于入在队尾,出在队头,所以我们还要有记录队列的对头队尾的变量。具体代码如下。//指向下一个结点//结点存储的数据}QN;//记录队列的头//记录队列的尾}Queue;我们可以看到,在定义记录队列头和尾的结构体中,phead和ptail都是QueueNode类型,所以实际上这是一个套娃的结构。

2024-05-17 18:04:22 369

原创 数据结构之二叉树详解[1]

二叉树的内容到这里并没有结束,后序的内容需要用到队列的知识,所以我会在穿插队列的实现后继续为大家讲解二叉树的相关知识!敬请期待!

2024-05-14 22:28:47 885 2

原创 数据结构之双向链表

本篇文章结束后,对于链表的学习就告一段落了。在试题中有很多题目会针对链表进行设计,希望大家能够理解并进行实操。

2024-03-31 15:44:38 717 1

原创 [C++进阶]多态

本篇文章,将带大家了解什么是多态,多态使用的注意事项和抽象类。1.2.3.4.5.

2024-03-31 12:54:04 693 1

原创 [C++基础]new一个对象

malloc和free是函数,new和delete是操作符malloc申请的空间不会初始化,new可以初始化malloc申请空间时,需要手动计算空间大小并传递,new只需在其后跟上空间的类型即可,如果是多个对象,[]中指定对象个数即可malloc的返回值为void, 在使用时必须强转,new不需要,因为new后跟的是空间的类型是指针malloc申请空间失败时,返回的是NULL,因此使用时必须判空,new不需要,但是new需要捕获异常。

2024-03-28 23:00:35 806

原创 [C++进阶]继承详解

class +派生类:继承方式 +基类string _id;//学号int _major;//专业public://工资char _jnum;//工号学生和老师都有相同的属性:名字,电话号码,年龄。学生独有的:学号,专业。老师独有的:工资,工号。所以,我们将名字,电话号码,年龄提取出来定义为父类。而学生类和老师类里只声明他们各自独有的属性。在定义子类的时候,我们可以发现继承方式和访问限定符相同。

2024-03-28 20:53:27 1707

原创 [奇妙的网络]计算机网络概述(3)---网络体系结构

目录常见的三种结构OSI参考模型TCP/IP参考模型原理参考模型结构分层的必要性物理层数据链路层网络层运输层应用层总结 在前两节种,我们学习了三大交换 和网络的定义分类及性能指标。本篇文章将为大家介绍计算机网络的体系结构。计算机网络的体系结构通常被分为OSI参考模型、TCP/IP参考模型和原理参考模型。下面我们依次介绍。OSI参考模型又称为开放系统互连参考模型,是一个七层协议的体系结构。如图。OSI体系结构是法律上的国际标准结构,但是由于如下原因,OSI体系结构最终失败。失败原因可以归结为如下原因。将OS

2024-03-12 21:00:06 710 1

原创 [C++基础]---引用&的详解

在C语言的学习中,我们学习了对指针的使用。而在C++中我们引用另一个有效的工具--引用。本篇文章将为问题很多的小明详细介绍“引用”。

2024-03-12 11:40:21 2022 1

原创 有关单链表的OJ(2)

当在遇到需要移动链表数据的题目时,新创建链表往往比直接移动的方法更加便捷。在找寻链表中的相交点时,快慢指针的方法往往应该是我们首要考虑的。

2024-03-10 23:56:06 868 1

原创 [奇妙的网络]计算机网络概述(2)

在计算机的不同发展阶段,人们对计算机网络的定义是不同的,这些定义都反映了当时计算机网络技术的发展水平。在早期,计算机网络的简单定义是:互连、自治的计算机集合。现在对计算机网络的较好定义是:一些通用的可编程的硬件互连而成的。在上述提到的定义中,我们需要对一些概念进行更准确的说明。硬件:一切智能硬件。如:智能手机、智能家电。可编程的:硬件一定包含有中央处理单元CPU。此外,问题很多的小明可能会认为计算机网络就是用来传送数据。实际上,计算机网络能够基于数据传送实现各种各样的应用。

2024-03-10 14:35:36 989 1

原创 有关单链表的OJ题(1)

在做有关链表相关题目时,一定要进行图像的分析!!!其次所有有关链表的问题,要对链表是否为空、链表是否只有一个头结点进行分析。有关链表的合并通常直接开辟新的链表更加快捷方便。在后续的文章中,我还为问题的很多的小明同学分享有关单链表的题目,关注我,细听下回分解。

2024-03-09 22:38:34 726

原创 数据结构之单链表

链表根据结构划分可以分为8种结构,单链表与双链表;带头链表与不带头链表(这里的带头指哨兵卫);循环链表与非循环链表。本篇文章将为大家介绍单链表。

2024-03-09 15:46:14 2262

原创 [奇妙的网络]计算机网络概述(1)——三大交换

刚接触计算机网络这门课程的同学们,可能会把网络的三大交换方式各自的特点和优劣点混淆。本篇文章将详细介绍他们各自的特点和优势劣势。

2024-03-07 13:05:25 1036 1

原创 二叉树-堆

堆在逻辑结构上是完全二叉树,在物理结构上(存储结构)是数组。堆又分为大堆和小堆。堆只规定父子结点间的大小关系,而不关注兄弟结点的大小关系。因此,堆不一定是有序的。大堆:任何父结点大于等于子结点。小堆:任何父结点小于等于子结点。堆的核心应用有:堆排序,topk问题,优先级队列。

2024-02-29 22:03:12 125

原创 数据结构-初步认识二叉树

树,是一种非线性的数据结构。在定义树的时候,我们通常采用递归的方法进行定义。首先介绍关于树的重要专有名词。为便于直观理解,我们展现图像进行解释。:一个结点含有的子树的个数。如上图中的结点A,我们可以看到通过A衍生出6个子树,因此,结点A的度为6。:度为0的结点。如上图中的B,C等均为叶结点,即该结点后不再有与其连接的结点。:度不为0的结点。如上图中的D等。与前一个结点连接的结点。如上图中,B与上层结点A相连,则B为A的子结点。注意,父子结点必须紧密相连。:具有相同父亲结点的结点。

2024-02-29 15:18:49 269

原创 数据结构--排序

排序分为插入排序,选择排序,交换排序和归并排序。其中插入排序分为直接插入排序与希尔排序;选择排序分为选择排序和堆排序;交换排序包含冒泡排序与快速排序。本文将依次对以上排序进行讲解。

2024-02-29 00:35:23 293

原创 计算机组成原理——概述

自用。

2024-02-28 22:37:21 694

原创 删除链表中的指定节点

【代码】删除链表中的指定节点。

2023-09-17 17:11:40 179 2

原创 数据结构之顺序表

线性表的顺序存储称为顺序表,顺序表从本质上来看其实就是一个数组,因此,对顺序表中元素的访问可以理解为对数组的访问,顺序表中的数据元素也是由一组连续的存储单元存储。同时顺序表分为静态顺序表与动态顺序表。进行头插和尾插前,需要对顺序表内存进行检查,即对capacity进行检查,当已有元素长度与容量相同时,需要对容量先进行扩容。顺序表中对元素的删除,通过对数据元素的移动,再将size--实现,下面我们分析头删和尾删。

2023-09-13 21:47:45 77 5

原创 求模运算符与除法运算符的故事

一开始对这两个符号的区别没有啥理解,还很疑惑为什么除法要分两种运算符。今天在写代码的过程中发现这两者间的相爱相杀。 虽然都是以除法运算为基准,但是除法运算符也就是\。可以用于浮点型的除法运算也可以用于整型运算,得到的数据类型根据相除的数字类型决定。若是整型相除得到整型结果;若是浮点型相除得到浮点型结果。比如可以看到,5/4现实运算中得到的应该是小数,但是由于5和4在计算机运算中被认为是整型,得到的结果是整数部分,小数部分被舍弃,我们称之为“截断”(不是四舍五入,也不是截肢哦🤪,是直接丢掉

2022-12-09 11:26:36 179 2

空空如也

空空如也

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

TA关注的人

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