- 博客(57)
- 收藏
- 关注
原创 【算法基础】前缀和与差分
前缀和指一个数组的某下标之前的所有数组元素的和(包含其自身)。前缀和分为一维前缀和,以及二维前缀和。前缀和是一种重要的预处理,能够降低算法的时间复杂度。可以快速地求出某一段的和。类似于数学中的求导和积分,差分可以看成前缀和的逆运算。
2023-02-11 21:27:57
3037
74
原创 【✨十五天搞定电工基础】基本放大电路
1. 理解放大电路的放大作用和共发射极放大电路的性能特点;2. 掌握静态工作点的估算方法和放大电路的微变等效电路分析法;3. 了解放大电路输入、输出电阻和电压放大倍数的计算方法,了解放大电路的频率特性、 互补功率放大电路的工作原理;4. 了解差分放大电路的工作原理和性能特点;5. 了解场效应管的电流放大作用、主要参数的意义。
2023-02-08 13:48:26
3781
23
原创 【算法基础】基础算法之高精度运算
😽PREFACE📢系列专栏:https://blog.youkuaiyun.com/weixin_59954106/category_12108349.html💪种一棵树最好是十年前其次是现在。
2023-01-27 16:05:37
340
63
原创 【数据结构】堆的实现
堆的由来普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。
2023-01-26 10:41:48
651
45
原创 【数据结构】树和二叉树的概念
通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址。:完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。:若一个节点含有子节点,则这个节点称为其子节点的父节点;:以某节点为根的子树中任一节点都称为该节点的子孙。:一个节点含有的子树的根节点称为该节点的子节点;:度为0的节点称为叶节点;
2023-01-25 14:16:56
1283
31
原创 【算法基础】基础算法之排序
显然法二相较于法一更优,下面根据例题来进行法二的代码实现:快排题目代码人工动态展示过程:RPReplay_Final1674209649(1)快排的注意点2.归并排序 步骤 思路方法 题目:归并排序 归并模板
2023-01-20 19:55:59
1736
28
原创 【C++初阶】C++基础(一)
C++是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等。熟悉C语言之后,对C++学习有一定的帮助,本文主要目标:1. 补充C语言语法的不足,以及C++是如何对C语言设计不合理的地方进行优化的,比如:作用域方面、IO方面、函数方面、指针方面、宏方面等。2. 为后续类和对象学习打基础。1. C++关键字(C++98)C++总计63个关键字,C语言32个关键字ps:下面我们只是看一下C++有多少关键字,不对关键字进行具体的讲解。后面我们学到以后再细说。
2023-01-19 19:52:54
3557
25
原创 剖析栈和队列OJ题
如果「输出栈」为空,则把「输入栈」的元素逐个 pop() 并且 push() 到「输出栈」中,这一步会把「输入栈」的栈底元素放到了「输出栈」的栈顶。如果把「输入栈」的元素逐个弹出放到「输出栈」,再从「输出栈」弹出元素的时候,则可以负负得正,实现了先进先出。你所使用的语言也许不支持队列。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
2023-01-18 17:43:21
764
35
原创 【数据结构】栈和队列
1.栈1.1栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶1.2栈的实现栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。首先在VS里面的源文件建立。
2023-01-17 21:15:53
628
34
原创 【数据结构】双向链表
为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。
2023-01-16 12:26:49
1139
43
原创 【数据结构】单链表
现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。给定一个头结点为 head 的非空单链表,返回链表的中间结点。新链表是通过拼接给定的两个链表的所有节点组成的。给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。思路:依次比较链表中的结点,每次取小的结点,尾插到新链表即可。、非顺序的存储结构,数据元素的。
2023-01-14 19:43:47
924
42
原创 【数据结构】顺序表
1.线性表线性表()是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。2.顺序表2.1概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。本质上是数组,在此基础上,还要求数据是。
2023-01-11 20:52:48
906
33
原创 【数据结构】算法的时间复杂度和空间复杂度
数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。2.什么是算法?算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。
2023-01-09 11:33:48
645
22
原创 【C语言进阶】动态内存管理
所以,如果我们把结构体的内存以及其成员要的内存一次性分配好了,并返回给用户一个结构体指针,用户做一次free就可以把所有的内存也给释放掉。有时会我们发现过去申请的空间太小了,有时候我们又会觉得申请的空间过大了,那为了合理的时候内存,我们一定会对内存的大小做灵活的调整。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了。包含柔性数组成员的结构体用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构体的大小,以适应柔性数组的预期大小。分配方式类似于链表。
2023-01-07 18:43:14
650
25
原创 【C语言进阶】自定义类型:结构体,枚举,联合体
有了结构体类型,那如何定义变量,其实很简单。int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化//结构体嵌套初始化。
2023-01-05 21:13:55
1282
18
原创 【C语言进阶】字符函数与字符串函数
易错输出结果:>因为strlen函数返回类型是size_t(无符号整型的别称),=-3,-3被当成无符号整型的话,会被编译器当作一个很大很大的数(自然大于零),所以输出 >。模拟实现strlen:法一:计数器法二:递归法三:指针-指针。
2023-01-01 18:24:16
759
11
原创 【C语言进阶】指针的进阶
数组指针是指针?还是数组?答案是:指针。我们已经熟悉:整形指针: int * pint;能够指向整形数据的指针。浮点型指针: float * pf;能够指向浮点型数据的指针。那数组指针应该是:能够指向数组的指针。下面代码哪个是数组指针?//指针数组//数组指针//解释:p2先和*结合,说明p2是一个指针变量,然后指着指向的是一个大小为10个整型的数 //组。所以p2是一个指针,指向一个数组,叫数组指针。
2022-12-27 15:49:16
813
15
原创 【C语言进阶】深度剖析数据在内存中的存储
前面我们已经学习了基本的内置类型:char//字符数据类型short//短整型int//整形long//长整型long long//更长的整形float//单精度浮点数double//双精度浮点数//C语言有没有字符串类型?--没有以及他们所占存储空间的大小。
2022-12-23 21:29:25
196
11
原创 【C语言】初阶习题
求出0~100000之间的所有“水仙花数”并输出。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水(编程实现)。求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222。
2022-12-22 17:24:03
1090
14
原创 【C语言】实用调试技巧
Grace Hopper在1947年在MarkII机器运行程序时发现的第一个程序“bug”,被贴在她的本子上了。它真的是个虫子。这只夹扁的小飞蛾在MarkⅡ计算机的继电器触点里,它“卡”住了机器的运行,导致运行出错。2.调试是什么?有多重要?所有发生的事情都一定有迹可循,如果问心无愧,就不需要掩盖也就没有迹象了,如果问心有愧, 就必然需要掩盖,那就一定会有迹象,迹象越多就越容易顺藤而上,这就是推理的途径。拒绝-迷信式调试!!!!
2022-12-17 22:49:35
220
9
原创 【✨十五天搞定电工基础】一阶电路的暂态分析
1. 了解电阻元件、电感元件与电容元件的特征;2. 理解电路的暂态和稳态、零输入响应、零状态响应、全响应的概念,以及时间常数的物 理意义;3. 掌握换路定则及初始值的求法;4. 掌握一阶线性电路分析的三要素法。
2022-12-03 22:53:33
2941
11
原创 【✨十五天搞定电工基础】电阻电路的分析方法
1. 掌握等电路的基本分析方法;2. 了解实际电源的两种模型及其;3. 了解非线性电阻元件的伏安特性及静态电阻、动态电阻的概念,以及简单非线性电阻电路 的图解分析法。
2022-12-02 15:23:11
1774
6
原创 【JaveSE】继承与多态
java中使用类对现实世界中实体来进行描述,类经过实例化之后的产物对象,则可以用来表示现实中的实体,但是现实世界错综复杂,事物之间可能会存在一些关联,那在设计程序是就需要考虑:。使用Java语言来进行描述,就会设计出:通过观察上述代码会发现,猫和狗的类中存在大量重复,如下所示:那能否将这些共性抽取呢?。
2022-11-26 18:51:29
206
12
原创 【C语言】初阶结构体
有了结构体类型,那如何定义变量,其实很简单。{int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明{//名字int age;//年龄};//初始化{int data;//结构体嵌套初始化//结构体嵌套初始化。
2022-11-25 11:18:20
166
9
原创 【C语言】初阶指针
那我们就可以这样理解:内存——电脑上的存储设备(4/8/16G)程序在运行时会加载到内存当中,也会使用内存空间指针变量我们可以通过&(取地址操作符)取出变量的内存其实地址,把地址可以存放到一个变量中,这个变量就是指针变量。
2022-11-24 12:31:52
540
18
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人