自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

而塞过的学习之旅

自律、戒焦躁、坚持、成功

  • 博客(88)
  • 资源 (1)
  • 收藏
  • 关注

原创 LINUX的基本操作学习总结

前言从2020年11月定下了以后所打算从事的方向开始,就开始学习LINUX基础和LINUX环境编程,故谨以此文来记录LINUX的基础操作目录  1.linux的基础介绍及目录结构  2.运行指令及基本操作指令  3.vim的操作  4.开关机操作  5.用户管理  6.文件管理  7.组管理和权限管理  8.任务调度  9.磁盘分区和挂载  10.网络配置  11.进程管理  12.服务管理  13.RPM和YUMssds...

2021-01-05 09:55:56 3973 15

原创 回顾2020,展望2021

回顾20202020注定是不平凡的一年,新冠疫情、最爱的科比去世。。。决定考研,开始学习单片机。。。定方向

2021-01-01 22:35:07 180 2

原创 RA-CNN论文的个人理解

RA-CNN的算法理解

2022-11-29 13:05:48 510 2

原创 python学习记录

深度学习的第一步,Python语言的学习

2022-07-29 16:25:19 301

原创 操作系统从0到1-----MBR的完善(简易操作显卡/硬盘)

MBR 完善声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出地址地址只是一个数字,用与记录各种描述符号在源文件中的位置,是偏移文件开头的距离。第 n 个数据所在的位置是数据 n-1 的偏移 + n-1 的内存空间。sectionsection 被称为节,是编译器提供的关键字,用于在程序中宣称一个区域。通过此关键字可以人为的将程序中的数据,指令放在不同的 section 中,使代码的结构更加明了。用法section.节名称(data\code).start关键字 se

2022-05-25 16:29:33 459

原创 操作系统从0到1-----MBR的初体验(打印字符)

BIOS详解BIOS(Basic Input/Output System ):基本输入输出系统,主要工作是检查,初始化硬件,建立中断向量表(IVT),这样子可以通过“ INT 中断号”来实现相关硬件的调用。BIOS 是系统中的第一个运行的软件,是通过硬件加载,其入口地址为 0xFFFF0,在电脑开机的那一瞬间CPU 的 cs:ip 就被置为 0xF000:0xFFF0,进入 BIOS 地址开始执行 BIOS程序 ;但是 0xFFFF0到 0xFFFFFF 之间只有 16字节,故 BIOS 程序并不在此处

2022-05-13 21:09:42 372 3

原创 UNIX基础知识

UNIX基础知识为了防止半途而废,现如今将2020年看过的APUE重新开始进行阅读,并且以文章的形式进行记录达到:复习和 激励的目的此章节是APUE的前导章节,简要的介绍了UNIX环境和相较与Windows下的专有名称及意思文件和目录文件系统在 unix 系统下文件的起点是根, 用字符"/"表示,所以我们常听到根目录文件名目录中的各个文件的名称,在新创建的文件下会自动创建两个文件名: .(当前目录) …(上层目录) 。路径名称路径名称分为绝对路径和相对路径,绝对路径是以根

2022-05-09 20:47:28 660

原创 STM32F103之I2C协议的应用(读写EEPROM)

概要本文主要记录个人在学习I2C协议的一些个人见解,且基于I2C协议实现STM32读写EEPROM的数据声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出

2022-02-14 23:16:55 7846 2

原创 本地上传项目到GitHub上

概要为了实现更好的管理项目,有效的使用Github管理是一个不错的办法,故本文将从头开始围绕项目上传至github的实现声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出要求:电脑上成功安装git软件生成SSHKey在要上传的项目目录下,右键点击 Git Bash Here然后输入ssh-keygen -t rsa -C "1234567890@qq.com"一直按Enter,直到出现将SSHKey配置到GitHub上通过上述的反馈可以知道,新生成的密钥在/c/

2022-02-10 22:50:13 325

原创 回顾2021,展望2022

身份的转变其实去年在考完研的时候自己就知道结果了,前期猛地要命,七八月份就一天学十个小时,到了后期开学各种偷懒,逃避,再加上喜欢玩游戏和室友一开黑就一天,导致最后完全摆烂。故在2020年的十月份左右就开始找实习,也是看来很多经验帖的缘故知道秋招的重要性,但是结果完全没有自己想象的那么美好。记得第一次收到面试的通知特别高兴,心想我那么受欢迎(那时候不知道HR是有绩效之类的),如何就开开心心去面试了,结果可想...

2021-12-30 11:20:10 381

原创 每日一题———38.归并排序

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出概念归并排序:把两个或者多个已经有序的序列合并成一个序列思想(合并)创建一个辅助空间数组,用于暂时存放需要比较的数组元素每次从辅助数组中选择两个元素( low ,mid+1)进行比较将较小的元素放入原数组一直循环直到辅助数组的下标超过表长将未遍历完的数据直接插入原数组思想(排序)将数据元素从中间划分成两个子序列左侧子序列递归排序右侧子序列递归排序将数据归并//创建辅助数.

2021-06-23 00:51:05 178

原创 每日一题———37.堆排序

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出概念堆:n个关键序列L[1,2…n],满足下面一条性质称为堆大根堆:满足L(i) >= L(2i) 且L(i)>=L(2i+1)小根堆:满足L(i) <= L(2i) 且L(i)<=L(2i+1)可以类比二叉树,(2i左边叶子节点,2i+1右边叶子节点),但是不一样的是,在大根堆中只需要满足:根 >= 左 右与顺序无关,小根堆也一样:只要满足:根 < 左 右即可.

2021-06-22 00:22:05 544

原创 每日一题———36.选择排序之快速排序

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出思想选择一个基准( 常为数组第一个元素),利用俩个指针 low 和 high,依次对基准元素进行比较,使大于基准的元素在右边,小于基准的元素在左边,故基准的位置可以确定(k 次快速排序可以使 k+1 个元素在最终位置上)此时基准元素将数据分成两部分,一部分大于基准元素,一部分小于基准元素,对这两部分的元素分别再次进行快速排序,直到序列有序//确定位置int partition(int .

2021-06-21 00:30:16 191

原创 每日一题———35.希尔排序

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出思想利用 n / d 将数据分成若干个份子表对这若干份子表进行直接插入排序缩小增量 d ,再次分成若干份子表再次对子表直接插入排序,至有序void ShellSort(int a[],int n){ int i,j,d; for(d=n/2;d >= 1; d=d/2) //一直缩小增量 for(i = d+1 ;i <=n ;i++) if(a[i] <.

2021-06-19 23:55:55 290 3

原创 每日一题———34.树的层序遍历

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出要点链表的遍历链表的数据查找尾插法(留尾链)思想(借助队列)根节点入队,出队访问出队节点如果节点存在左子树则将左子树入队如果节点存在右子树则将右子树入队一直循环直到队列为空void LevelOrder(BiTree T){ InitQueue(Q); //初始化队列 Bitree p; EnQueue(Q,T); //根节点入队 while(!IsEmpty(Q)).

2021-06-19 23:42:23 77

原创 每日一题———33.后续访问的非递归实现

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出相比先序和中序的非递归实现(差异只是在访问在入栈和出栈的先后顺序);而后序的非递归实现则要复杂一点,因为后序的顺序是左右根的顺序,所以要对右子树进行判断;判断条件有两个(同时满足) :1.右子树是否为空2.右子树是否被访问过思想 (借助栈实现)将沿着根的左孩子依次入栈,直达左孩子为空判断右子树是否为空且是否被访问过,如果满足则对右子树重复 1 的操作否则出栈,访问节点,且标记最近访问.

2021-06-19 00:45:04 107

原创 每日一题———32.插入排序的实现

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出算法思想每一次将一个待排序的记录按照关键字大小,插入到已排好的子序列中,依次与前面关键字做比较效率分析时间复杂度:平均 O(n2),最好O(n),只需要对比无需移动数据,最坏 O(N2)既要比较又要移动数据空间复杂度:O(1)稳定性好带哨兵法void InsertSort(int a[],int n){ int i,j; for(i = 2;i<n;i++){ //a[0].

2021-06-18 00:38:01 117 2

原创 每日一题———31.非递归实现树的中序遍历

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出思想 (借助栈实现)将沿着根的左孩子依次入栈,直达左孩子为空栈顶元素出栈,并且访问节点(对节点操作),若若孩子为空则继续指行否则执行 1 操作,直到栈为空,或者节点为空void InOrder(BiTree T){ BiTree p =T ;//新建树对象,对树操作 //初始化栈 InitStack(S); while(p || IsEmpty(S))//栈非空,或者树非空 { .

2021-06-17 23:09:46 73

原创 每日一题———30.树的相关解题技巧

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出树相关解题技巧在完全二叉树中,N0=N2+1(度为0的结点个数 = 度为 2 的结点个数 + 1)在完全二叉树中,N1(常为 0 或 1)在完全二叉树中,叶子结点个数为 i > n / 2, ( n为总结点个数,i ~ n都是叶子节点的个数)在得到树的先序遍历 + 后序遍历的情况下,若先序:XY 后序:YX则X是Y的祖先节点,(不唯一)在得到树的中序遍历 + 后序遍历(先序遍历)的情况下.

2021-06-16 23:51:38 109 2

原创 每日一题———29.树的三种遍历

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出要点树的先序遍历(根左右)树的中序遍历(左根右)树的后序遍历(左右根)//先序void PreOrder(BiTree T){ //非空按根左右的顺序遍历 if(T !=NULL){ visit(p); preorder(T->lchild); preorder(T->rchild); }}//中序遍历void Inorder(BiTree T){ //.

2021-06-15 23:46:27 139 2

原创 每日一题———28.二叉树中寻找编号为i和j的最近祖先节点(顺序存储)

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目给定一个二叉树按顺序存储,要求设计一个算法实现寻找结点 i 和 j 的最近祖先节点相关知识二叉树的顺序存储(完全二叉树和满二叉树用此方式比较多,而在普通二叉树的情况下会将其补充数据伪装成一个满二叉树来存储,方便使用满二叉树的特性)为了维持二叉树的节点顺序和数组顺序一致可以从1开始存储祖先节点是子节点的 1/2思想要注意判断结点的值信息不断的将较大的结点值取一半,知道 i 和 j.

2021-06-14 01:15:56 682 3

原创 每日一题———27.重新排列线性表的顺序

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目设线性表L为{a1,a2,a3…an-1,an}采用头节点的单链表保存,按要求重新排列L中的各个结点,得到线性表的顺序为{a1,an,a2,an-1…}要点双指针的使用头插法逆置结点思想分析插入后的结点的规律是间隔顺序递增,但是给出的后部分结点是递减,且结点可以分为两部分找到中间节点(两个指针,快指针一次走两步,慢指针一次走一步,故在快指针到达链尾的时候,慢指针在中间结点)将后部.

2021-06-13 01:46:12 654 1

原创 每日一题———26.删除链表中绝对值相同的结点,仅保留第一次出现的结点

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出要点分配节点数组初始化删除结点辅助数组的释放思想利用一个标记数组来记录访问的情况将结点中的值变成数组中的下标值在第一个访问到一个结点就利用辅助数组将节点中的值对应下标的值置为1,在下一次访问到时,就将结点删除利用三元组将节点中的值变成正数涉及到节点的释放利用一个pre指针获取节点的前驱,方便删除void Delete_Same(Linklist L,int n){{ int.

2021-06-12 00:14:31 554 2

原创 每日一题———25.链表算法操作总结

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出单链表的主要方法头插法(防止断链)LNode *q;head->next=NULL;q->next=head->next;head->next=q;尾插法(留尾链)LNode *p,*q;rear->next=q;q->next=NULLrear=q;逆置法(利用头插法实现)归并法双指针方法(取较小的值,倒数第k个元素,中间元素(.

2021-06-10 23:55:16 139 2

原创 每日一题———24.寻找单链表的倒数第k个位置的结点

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目给定一个带有表头节点的单链表list,要求在不改变链表的结构下找到链表中倒数k个位置的节点,查找成功输出该节点的值并返回1,否则返回0思路方法一:第一次遍历确定链表的长度l,第二次遍历找到l-k+1个位置的节点(不推荐,时间复杂度高,遍历两次)方法二:借助一个辅助空间,遍历一次将所有节点的data域的数据存入辅助空间中,通过随机读取的方式来读取第k个数据(不推荐,空间复杂度高)方法三.

2021-06-09 23:37:44 145 3

原创 2021-06-09

给定一个带有表头节点的单链表,要求在不改变链表的结构下找到链表中倒数k个位置的节点,查找成功输出该节点的值并返回1,否则返回0思路方法一:第一次遍历确定链表的长度l,第二次遍历找到l-k+1个位置的节点(不推荐,时间复杂度高,遍历两次)方法二:借助一个辅助空间,遍历一次将所有节点的data域的数据存入辅助空间中,通过随机读取的方式来读取第k个数据(不推荐,空间复杂度高)方法三:双指针法通过两个指针,之间间隔k个节点,然后一起变量,在后一个指针遍历到链尾的时候,前一个指针的位置刚好是倒数第

2021-06-09 21:33:49 51

原创 每日一题———23.中缀表达式转换

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出中缀转后缀的方法常规方法遇到操作数(a,b,c)的时候:直接输出,添加到后缀表达式中栈为空的时候,遇到运算符直接输出遇到左括号:将其入栈遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出的元素是左括号(左括号不输出直接删除)遇到其他运算符:加减乘除,弹出所有优先级大于或等于该运算符的栈顶元素,然后将该运算符入栈比较入栈元素和栈顶元素,只有优先级小于栈顶元素才入栈,其余都出栈最终将栈的.

2021-06-09 00:13:49 127 4

原创 每日一题———22.定位双向链表的数据,并且记录访问频率,按访问频率排序

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目给定一个头指针L为带头结点的非循环双向链表,并且节点内多了一个freq域(记录访问次数),按要求实现一个Locate(L,X)算法,实现定位查找X值,并且在找到X的时候freq+1,同时将链表中的结点保持访问次数递增排列要点双链表的遍历双链表的结点插入双链表的结点提取思想遍历整个双链表,找到元素值为X的结点,并且freq+1将该节点取下,遍历整个双链表寻找到小于该节点的freq的.

2021-06-08 00:16:36 707 5

原创 每日一题———21.按顺序删除带头循环单链表的节点

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目设有一个带头结点的循环单链表,其数据节点的元素均为正整数,要求设计一个算法实现循环删除最小元素的节点,并输出元素的值,最后将头节点删除要点循环链表的遍历节点的删除思想遍历循环链表(遍历指针不为头指针的情况下)寻找通过一个指针标记最小的元素节点,并且需要一个最小节点指针的前驱便于删除节点一直循环查找,标记最小值节点,删除退出循环则删除头节点void DeleteMin(Lin.

2021-06-07 00:12:37 138 1

原创 每日一题———20.判断带头双链表是否对称

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出bl80NTc0MjEwMA==,size_16,color_FFFFFF,t_70#pic_center)要点双链表的遍历思想(双指针线性查找)借助双链表的前驱指针和后继指针分别从左边和右边遍历,直到指向同一个节点(双链表的节点数量为偶数)或者相连节点(双链表的节点数量为偶数)说明该双链表为对称bool symmetry(DLinklist L){ DNode *p *q; p=L.

2021-06-05 23:45:10 343 5

原创 每日一题———19.求两个链表的公共节点

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目已知两个链表A,B分别表示两个集合,其元素递增排列,编制函数,将A,B的交集放入A中要点链表的遍历链表的数据查找节点的删除思想要将A中的元素和B来比较因为A中保存的是集合,故在数据不相同的时候将元素所属的节点删除(删除较小的),因为元素的递增排列的只有在两个链表的节点元素都一样才将A中的节点保留在A中有剩余时直接删除剩余节点,只保留公共的元素在B有剩余的时候也直接删除节点.

2021-06-05 00:53:10 193

原创 每日一题———18.两个递增的单链表归并成一条递减的单链表

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出要点链表的遍历头插法思想(双指针线性查找)因为原来的元素顺序的递增,操作过后变成递减,故采用头插法可以实现设置两个链表指针,让两个链表节点一起遍历比较两个指针结点中的元素,将小的元素节点插入当一条链表遍历完时,另外一条还有数据,则继续头插法将剩余节点添加Linklist merge(Linklist &A,Linklist &B){ Lnode *p = A-&g.

2021-06-04 00:13:29 225

原创 每日一题———17.一个链表按要求分成两个链表

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目设C={a1,b1,a2,b2…,an,bn}为线性表,采用带头结点的hc单链表,设计一个就地算法,将其拆分为两个线性表,使得A={a1,a2,…,an},B={b1,b2,…bn}要点链表的遍历头插法(防止断链)尾插法(留尾链)思想由题目可知A是正序的B是倒序,故A可以采用尾插法,B采取头插法遍历整个链表,第一个节点插入A中第二个插入B中,一直循环,直至整个链表为空Link.

2021-06-02 23:17:58 709 3

原创 每日一题———16.单链表分成两个链表

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目将一个带头结点的单链表A按照A的序号分为A和B两个链表,其中A链表保存奇数序号的节点,B保存偶数的序号节点链表图要点链表的位置奇偶判断节点的创建尾插法(留尾链)思想(双指针线性查找)创建新链表B(保存偶数位置的节点)遍历整个链表,在偶数位置将节点加入到新链表中在奇数位置将节点向下遍历最后要记得将尾节点置空Linklist Create(Linklist &A).

2021-06-02 00:24:58 1280 2

原创 每日一题———15.寻找两个链表的公共节点(双指针线性实现)

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出链表图要点链表的遍历链表的数据查找尾插法(留尾链)思想(双指针线性查找)设置两个链表指针,让两个链表节点一起遍历当两个指针结束的时候相同,说明节点一致,否则说明不一样但是两个链表的长度不一致,故可以让长的链表先遍历k(两个链表的长度差),然后两个链表的长度就一致,接下去遍历到的相同就是节点一样的情况LNode * SerachCommen(Linklist La,Linklis.

2021-06-02 00:00:08 158

原创 每日一题———14.寻找两个链表的公共节点(暴力破解)

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出链表图要点链表的遍历链表的数据查找思想(暴力破解)嵌套遍历,来逐个比较节点,在第一个节点一致的时候返回该节点,否则,继续比较,在一个链表遍历完后要重新赋值,使其从头开始比较LNode * SerachCommen(Linklist La,Linklist Lb){ LNode *p=La->next; LNode *q=Lb->next; while(p != N.

2021-06-01 00:07:58 384 5

原创 每日一题———13.删除链表中的区间值

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目设在一个带头节点的单链表中所以的元素节点值无序,要求删除表中的数据小于y,大于x的值的节点要点链表的遍历链表的数据删除思想遍历链表,找到满足条件的节点,将其删除要利用两个指针,一个用作遍历,一个用做记录删除的时候节点的前驱void Delete(Linklist &L,int x,int y){ LNode *pre=L,*p=pre->next,*min; .

2021-05-31 01:04:45 311

原创 图的系统实现(深度/广度遍历)

前言图的最小系统的操作 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出主要函数建立无向图的邻接存储表无向图的数据输出深度优先广度优先代码实现#include <stdio.h>#include <stdlib.h>#define Max 100#define True 1#define False 0typedef char VertexType;int visited[Max];//边信息typedef s.

2021-05-30 17:23:33 131

原创 每日一题———12.链表的头插法和尾插法建立链表

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目链表的头插法建立链表要点链表的头插法头节点的建立头节点不能断链思想先分配内存空间建立一个头节点获取输入的数据,在输入的值为-1的时候终止链表的建立节点赋值,节点指向头节点的下一个位置,然后头节点指向插入的节点(关键)LinkList linkHead_Insert(LinkList &L){ Lnode *p; int val; L = (Lnode *)ma.

2021-05-30 00:26:06 156

原创 每日一题———11.删除单链表中的最小值的结点

前言数据结构每日一题 声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出题目编写一个算法实现在带头结点单链表L中删除最小值结点的算法要点链表的遍历链表结点的删除思想先是链表的遍历,这里需要用到两个指针,一个用作遍历链表,一个记录遍历指针的前驱结点信息在找到最小值的时候对数据进行删除,需要一个指针记录当前最小值的结点,因为要删除该节点,所以还需要一个前驱节点来方便删除的实现在扫描过程中,如果遍历指针中的值 < 最小节点的值,则将该值赋给最小结点,记录.

2021-05-29 01:44:15 1240 2

C语言.pdf

C语言.pdf

2021-11-16

空空如也

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

TA关注的人

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