自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解计算机系统——进程,虚拟内存,文件

抽象概念,也就是我们经常说的虚存,这个是假的地址空间,物理地址转换成虚拟地址,这时候我们的CPU就获取了虚拟地址,而我们拿着虚拟地址时候,CPU又通过加算算数逻辑单元给我们物理地址,这样我们就可以访问内存啦。进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位,是操作系统结构的基础。一个系统上可以同时运行多个进程,而每个进程都好像只独占使用硬件,并发执行,多个进程的指令是交替完成执行的。可以看到,不同的进程的CPU使用权在不断交替,但是只要拿到使用权,就会把自己的任务完成下去。

2024-02-25 19:43:43 368

原创 深入理解计算机系统——内部很重要的硬件

如果学过机械原理应该也就可以了解为什么磁盘读的慢,而寄存器读得快了,但是一个磁盘可以存几十亿的数据,但是寄存器可能就几百字节的数据,但是速度是完全不一样的,特别是CPU内嵌的寄存器,读取速度比主存和磁盘快了可能都有几万倍,所以我们提出了高速缓存,制作cache的材料我们用的是SRAM也就是静态随机访问存储器。中央处理单元,简称CPU,处理器核心是一个大小为一个字的存储设备(或寄存器),称为程序计数器(PC),任何时刻,PC都指向主存中的每条机器语言指令(含有该条指令的地址)这时候一段程序就已经执行结束。

2024-02-25 18:57:55 599

原创 深入了解计算机系统——1.计算机系统初步

中的,每个字节都有一个整数值,对于某些字符,例如,第一个字符的整数值是35,他对应的就是字符“#”。第二个字节的整数值为105,它对应的字符是“i”,依次类推,注意:每个文本行都是以一个看不见的换行符"\n"来结束的,它所对应的整数值为10.像hello这样的用ASCII码构成的文件我们叫它文本文件。可以看到,这就是从源文件到目标文件的转化过程,这是通过编译器驱动程序完成的,GCC编译器驱动程序读取源程序文件hello.c,并把它翻译成一个可执行目标文件hello,这个翻译过程可分为四个阶段完成,

2024-02-25 16:22:10 617

原创 子网划分和计网解题方法

解决 子网划分。

2023-07-25 15:50:54 316

原创 LLC和MAC子层的应用

由于局域网只是一个计算机通信网,而且局域网不存在路由选择问题,因此它不需要网络层,而只有最低的两个层次。然而局域网的种类繁多,其媒体接入控制的方法也各不相同。1) MAC地址,即主机在网络中的站地址或物理地址,这由 MAC帧负责传送。,也就是LLC子 层上面的服务访问点SAP,这由LLC帧负责传送。的问题都放在MAC子层,负责在物理层的基础上进行无差错的通信。的部分都集中在逻辑链路控制LLC子层。即进程在某一个主机中的地址。MAC子层的主要功能是。

2023-07-23 17:27:46 1805

原创 collections:python的超级好用模块

Python中的是一个标准库模块,它提供了一些有用的容器类型,这些容器类型可以用于替代Python内置类型,以便更方便、更高效地处理数据。CounterdequenamedtupleChainMap使用模块中的容器类型可以使代码更加简洁、清晰,同时也能提高代码的执行效率。

2023-07-22 10:16:04 257

原创 CSMA/CD最小帧长和最大帧长、什么是帧

最小帧长 = 总线传播时延 * 数据传输速率 * 2从上述公式可以看出,最小帧长是信号往返传播时延内发送的数据长度,若在这个时间段内没有检测到信号冲突,只要信号是在这个时间段持续发送,则信号已经完全占领信道,从而接收方一定接收到没有碰撞的完好信号。情况一:通俗来说,我一直发一直发,你就受不了了。情况二:我想把你吃下去,但我只能吃三碗饭,你给了我10碗饭。

2023-07-21 16:28:32 1181

原创 数据结构期末速成

设度为0的节点有N0个,度为k的节点有Nk个,则对严格的k叉树有 N0 = (k-1)Nk+1 ,由此得。在一颗二叉树中,如果某个节点的左指针为NULL,就说明这个节点在原来的森林中没有孩子,是叶子节点。使用DFS算法递归的遍历一个有环无向图,在退出递归时输出相应顶点,这样得到的顶点序列是。二叉排序树的查找性能和数据的输入顺序有关,最坏情况形成单支树,查找长度为O(n)与直接插入排序相比,折半插入排序减少了比较元素的次数,元素的移动次数并未改变。将森林F转换为对应的二叉树T,F中叶节点的个数等于。

2023-07-21 15:43:44 624

原创 Linux 基础指令笔记合集

下面的指令都是可以在Linux终端中直接输入的date 准确日期时间cal [month] [years] 看看日历本bc进入计算机工作环境 输入1+1试试quit可以退出helphelp可以帮助我们得到更多指令的用法nano文本编译器su -进入管理员模式密码不要输错了shutdownshutdown -h [时间/now]shutdown -r [now/+-时间]我输入了shutdown 他直接就给

2023-07-21 11:08:55 64

原创 线程、并发、多线程并发

单线程并发单线程并发,并非真正意义上的单线程。而是只有单一的用户线程。还包括数据库,socket等系统多线程。单个用户线程:对于十万个用户同时访问服务器,有两种方式处理并发。为每个用户开一个新的用户线程,每个线程内部采用阻塞通信的方式,即同步通信,从数据库中取数据、与服务器通信等,直到得到结果,返回给用户。其中涉及多个用户线程。只有一个用户线程,采用非阻塞通信的方式,即异步通信,通过事件驱动的方式实现并发。

2023-07-19 20:14:47 1288

原创 操作系统速成笔记

操作系统(Operating System,OS)是计算机系统最基础的系统软件,管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供良好运行环境。

2023-07-19 08:44:39 224

原创 计算机组成原理组成笔记

控制流驱动方式在运算器中,不包含地址寄存器把汇编语言源程序转变为机器语言程序的过程是汇编数据库系统不是 系统软件相联存储器既可以按地址寻址也可按内容寻址指令周期的不同阶段解析:在取值阶段取的是指令,执行阶段取的是数据。容易选成 指令操作码的译码结果,需要注意的是,CPU只有在确定取出的是指令时,才会将其操作码送去译码。计算机硬件能够直接执行的是机器语言磁盘属于直接存取存储器(DAM)存储器的存取周期是指存储器进行连续存或写操作所允许的最短时间间隔相联存储器是按内容指定方式和地址指定方式相结合。

2023-07-19 08:42:48 146

原创 计算机网络考研速成笔记

计算机网络最基本的功能是数据通信局域网和广域网的主要差异不仅在于范围,还有所使用的协议局域网和广域网的互联是通过路由器实现的计算机网络拓扑结构主要取决于它的通信子网。

2023-07-19 08:40:52 589

原创 计算机网络中的 端到端和点到点

数据链路层只负责直接相连的两个结点之间的通信,一个结点的数据链路层接受网络层数据并封装之后,就把数据帧从链路上发送到与其相邻的下一个结点。同时点到点通信并不能保证数据传输的可靠性,也不能说明源主机与目的主机之间是哪两个进程在通信,这些工作都是由传输层来完成的。端到端通信建立在点到点通信的基础之上,它是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式,完成应用程序(进程)之间的通信。端到端与点到点是针对网络中传输的两端设备间的关系而言的。端到端传输的优点是链路建立后,发送端知道接收设备。

2023-07-18 22:08:57 3115

原创 操作系统考研笔记——进程、线程、调度算法

进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位,是操作系统结构的基础。进程是一个具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单元。简单来说,进程就是一个程序的动词现在时态,也就是电脑主机正在跑的。在计算机科学中,线程和进程是两个重要的概念。虽然它们都涉及到多任务处理,但它们之间存在一定的区别。本文将对线程和进程的概念、特点以及它们在实际应用中的差异进行分析。

2023-07-13 18:00:36 256

原创 我来给你讲计算机网络(自顶而下)

计算机网络——自顶而下的方法》参考文献:暂无,非网络安全学生,目前正计划考研。(来个老师收了我吧)适宜人群:对计算机网络有兴趣的学生,教师,社会人员。有问题请直接私信我,如有问题,我会对其进行更正。参考书籍:《计算机网络》谢希仁老师。系列名:计网必会,作者:我。阅读方式:直接进专栏。

2023-07-13 11:12:45 86

原创 基数排序的实现与代码

基数排序的时间复杂度为 O(d * (n + k)),其中 d 是最大数的位数,n 是待排序数组的长度,k 是桶的个数(或计数数组的大小),空间复杂度为 O(n + k)。由于需要进行多次排序,所以在数据规模较小的时候,基数排序的效率不如快速排序、归并排序等排序算法。基数排序的基本思想是:将待排序的数按照从低位到高位的顺序依次进行排序。在每一位上采用计数排序或桶排序等稳定排序算法对数进行排序。一种非比较排序算法,通过将数据按照各个位上的数字的值来排序,可以用于处理整数、小数或字符串等类型的数据。

2023-04-25 06:23:59 103 2

原创 败者树的应用和规则

败者树(Loser Tree)是一种数据结构,用于在多个有序序列中选取最小元素。它的主要优点是可以在Oklog⁡nO(k\log n)Oklogn的时间复杂度内完成kkk个有序序列的归并排序,相比于普通的归并排序的时间复杂度Oknlog⁡nOknlogn,有了很大的优化。def external_sort(input_file , output_file , block_size) : # 划分阶段。

2023-04-20 16:11:00 460

原创 外部排序总结篇

外部排序是一种用于处理大型数据集的算法,它将数据分成小块,然后对这些块进行排序,最后将它们合并成一个有序的数据集。这种算法通常用于处理无法一次性装入内存的数据集。

2023-04-20 16:01:19 85

原创 外部排序、多路平衡归并树和败者树(有代码)

多路平衡归并算法是一种用于对多个有序序列进行合并的算法,它可以在O(n log k)的时间复杂度内完成,其中n是所有序列中元素的总数,k是序列的数量。败者树是一种用于多路归并排序的数据结构,它可以在O(n log k)的时间复杂度内完成,其中n是所有序列中元素的总数,k是序列的数量。与多路平衡归并算法不同,败者树可以在内存中完成排序,因此它通常用于内部排序。多路平衡归并算法是一种用于对多个有序序列进行合并的算法,它可以在O(n log k)的时间复杂度内完成,其中n是所有序列中元素的总数,k是序列的数量。

2023-04-20 15:49:52 176

原创 计算机系统发展历程、计算机性能指标、层次结构、计算机工作原理、

微型计算机时代(1970年代末期至今):个人计算机的兴起,将计算机带入了家庭和办公室,计算机的规模不断缩小,性能不断提高,代表机型有IBM PC、Apple Macintosh、智能手机等。操作系统层:操作系统是计算机系统中最基本的软件之一,它提供了一个接口,使得应用程序和硬件之间能够进行有效的通信和交互,包括文件管理、进程管理、内存管理、设备驱动程序等。计算机的存储容量和速度对于其性能和功能至关重要。硬件层:硬件层是计算机系统中最底层的部分,包括CPU、内存、硬盘、键盘、鼠标、显示器、打印机等。

2023-04-19 15:36:25 756

原创 排序算法之冒泡排序(全解+代码)

冒泡排序是一种简单的排序算法,它的基本思想是重复地交换相邻两个元素,直到排序完成。冒泡排序的时间复杂度为O(n^2),在处理小规模数据时比较高效,但在处理大规模数据时效率较低。

2023-04-19 14:54:19 593

原创 排序算法之希尔排序

希尔排序(Shell Sort)也是一种插入排序,它是插入排序的一种高效率的改进版本。它的基本思想是将待排序的数组按照一定的间隔分成若干个子序列,对子序列进行插入排序,然后依次缩小间隔进行排序,直至间隔为1,此时整个序列已经基本有序,最后再做一次插入排序即可。希尔排序的优点在于在某些情况下可以比快速排序和堆排序更快,它的时间复杂度与增量序列的选取有关,但尚未找到一种最好的增量序列。希尔排序的时间复杂度最好情况为O(nlogn),平均情况为O(n1.3),最坏情况为O(n2),空间复杂度为O(1)。

2023-04-19 13:50:55 50

原创 排序算法之插入排序(全解+代码)

直接插入排序(Insertion Sort)是一种简单的排序算法,其基本思想是将一个待排序的元素插入到已排好序的有序数列中的适当位置,直到全部元素排序完成为止。具体实现过程如下:将待排序的数组分成两部分,已排序区间和未排序区间。初始时,已排序区间只有一个元素,就是数组的第一个元素。将未排序区间的元素依次插入到已排序区间的适当位置,直到未排序区间为空。

2023-04-19 13:33:45 2223

原创 散列表、哈希表、冲突

散列表(Hash Table),也称哈希表,是一种根据关键码值(Key-Value)进行访问的数据结构,通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。散列表可以使用数组来实现,每个数组元素对应一个桶,每个桶可以存储多条数据,每条数据的访问时间是O(1)的。散列表的核心就是散列函数,它把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变成固定长度的输出,该输出即为散列值。散列表中使用散列函数计算出每个关键字的散列值,并根据该值存储或查找对应的数据。

2023-04-19 13:16:54 1024

原创 B树 B+树(多路查找树)的介绍、插入和删除操作

其中B树是一种自平衡的多路查找树,其每个节点可以包含多个关键字和对应的指针,且满足以下性质:多路查找树是一类特殊的树形结构,其每个节点可以包含多个关键字和对应的指针,相比于二叉查找树,可以更高效地进行查找操作。B+树是在B树的基础上进一步优化而来的一种多路查找树,它与B树的区别在于只有叶子节点存储数据,内部节点仅存储关键字和指向子节点的指针。但是,相比于二叉查找树,多路查找树的实现更为复杂,且节点的大小也更大,占用更多的存储空间。其中B树是一种自平衡的多路查找树,其每个节点可以包含多个关键字和对应的指针。

2023-04-17 22:14:56 678

原创 红黑树是个什么东西(python语言代码实现)

红黑树是一种自平衡二叉查找树,它能够在 O(log n) 的时间复杂度内进行插入、删除、查找等操作,是一种高效的数据结构。红黑树的名字来源于它的节点颜色:每个节点是红色或黑色的。

2023-04-17 22:10:10 128

原创 平衡二叉树(AV树) 插入和删除 (C语言实现)

一种特殊的二叉查找树,它的左右子树的高度差不超过1,可以保证树的高度始终在log2(n)级别,从而保证了平衡二叉树的查找、插入、删除操作的时间复杂度都是O(logn)。常见的平衡二叉树有红黑树、AVL树等。AVL树的插入和删除操作都需要进行旋转操作来维护树的平衡,插入和删除的时间复杂度均为O(logn)。

2023-04-17 22:04:02 796

原创 二叉排序树的插入和删除操作(python实现)

二叉排序树的插入和删除操作都是在保持二叉排序树特性的前提下进行的。插入操作:在二叉排序树中插入一个新节点时,先比较新节点的值和当前节点的值的大小关系,若小于当前节点,则继续在当前节点的左子树中查找;若大于当前节点,则继续在当前节点的右子树中查找。重复该过程,直到找到一个空节点,将新节点插入到该位置上。删除操作:删除操作比较复杂,需要分类讨论。

2023-04-17 21:55:19 656

原创 二叉排序、平衡二叉树

相对于普通的二叉排序树,平衡二叉树的优点在于其查找、插入、删除操作的时间复杂度为O(logn),其中n为树中节点的个数。平衡二叉树,也称为自平衡二叉搜索树,是一种二叉排序树,它保持树的左右子树的高度差不超过1,从而保证了树的平衡性。二叉排序树的实现方式很多,可以使用链式存储结构或者数组存储结构。在二叉排序树中,若插入的数据是有序的,则二叉排序树将会退化成一条链表,这时候查找操作的时间复杂度将会退化为。平衡二叉树的缺点在于它的实现比普通的二叉排序树更为复杂,同时它需要维护额外的平衡信息,导致了空间开销更大。

2023-04-17 21:51:12 460

原创 插值查找和斐波那契查找

一种基于二分查找的优化算法,与二分查找相比,插值查找更加适用于数据分布较为均匀的有序数组。斐波那契查找是一种基于斐波那契数列的查找算法,与二分查找类似,只是每次将数组分成比例不同的两部分,而不是像二分查找一样分成相等的两部分。

2023-04-17 21:44:51 424

原创 查找算法:二分查找和哈希查找、二叉排序树、B树和B+树等python实现

查找算法是计算机科学中的一个重要问题,它的应用广泛。常见的查找算法有顺序查找、二分查找和哈希查找等。在实际应用中,我们需要根据具体的问题需求选择不同的查找算法,以实现更高效的数据查询。二分查找,也称折半查找,是一种高效的查找算法。它是基于有序数组的特性,每次通过将待查找的数据与中间元素比较,缩小查找范围,直到找到目标元素或者查找区间为空。

2023-04-17 21:42:07 701

原创 计算机组成原理速成

什么是计算机计算机是一种能对数字化信息进行自动、高速算术和逻辑运算的通用处理装置计算机的功能数据运算’数据存储数据传送控制计算机的特点高速 高速元件和“存储程序”工作方式带来高速性通用 体现在处理对象和应用领域方面的广泛性准确 足够精度的算术运算带来准确性智能 逻辑推理能力带来智能性。

2023-03-15 16:23:13 594

原创 数据结构与算法:KMP匹配算法

KMP 算法。

2023-03-13 21:16:50 250

原创 数据结构与算法:表达式匹配问题

请实现一个函数用来匹配包含'\.'和'\*'的正则表达式。模式中的字符'\.'表示任意一个字符,而'\*'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但与"aa.a"和"ab*a"均不匹配。

2023-03-08 14:24:03 304

原创 什么是进程、进程的转换

前趋图(Precedence Graph)是一个有向无环图,记为 DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(Partial Order,亦称偏序关系)或前趋关系(Precedence Relation)“→”。正在上传…重新上传取消程序并发执行的前驱图表示正在上传…重新上传取消操作系统用来实现程序并发执行的实体。作为操作系统资源分配和独立运行。

2023-03-08 14:20:01 312

原创 数据结构与算法 顺序表、链表总结

链表是一种随机存储在内存中的节点对象集合。节点包含两个字段,即存储在该地址的数据和包含下一个节点地址的指针。链表的最后一个节点包含指向null的指针。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VhHZYb70-1678256000199)(image/2021-03-12-21-00-33.png)]

2023-03-08 14:17:14 490

原创 计算机组成原理:计算机系统的基本组成

由指令计数器(又称程序计数器)指明要执行的指令所在的存储单元的地址。一般情况下, 每执行完一条指令,指令计数器顺序递增。指令的执行顺序可按运算结果或外界条件而改变,但是解题的步骤仍然是顺序的。组成,**操作码用来表示操作的类型, 地址码用来表示操作数和操作结果的地址。的方式,程序和数据存放在同一存储器中,并且没有对两者加以区分,指令和数据一样可以送到运算器进行运算,即由指令组成的程是可以修改的。计算机在完成-步操作后,应具备从预先无法确定的几种方案中选择一种操作方案的能力,以保证解题过程的正确性。

2023-02-08 17:30:54 277

原创 网络层、转发、路由选择、路由协议

使用OSPF,一台路由器构建了一幅关于整个自治系统的完整拓扑图,于是,路由器在本地运行Dijkstra的最短路径算法,以确定一个以自身为根结点的到所有子网的最短路径树。是一种距离向量协议,使用跳数作为其费用测度,即每条链路的费用为1,一条路径的最大费用被限制为15,因此RIP的使用限制在网络直径不超过15跳的自治系统内。一台路由选择器的路由选择表包括该路由器的距离向量和该路由器的转发表。每台路由器都要一张转发表,路由器通过检查分组的首部来确定转发分组,在表中查询索引,存储在表中的目的地址。

2023-02-07 19:35:15 545

原创 408计组巅峰之路:总线技术、总线仲裁

1)串行总线a.优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。b.缺点:在数据发送和接收的时候要进行拆卸和装配,要考虑串行-并行转换的问题。2)并行总线a.优点:总线的逻辑时序比较简单,电路实现起来比较容易。b.缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂;由于工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。

2023-02-03 16:53:22 670

51单片机USB下载接口驱动程序

当使用单片机发生接口类型故障可以尝试,下载后解压,对USB接口问题进行处理,如果接口还是有故障,可以尝试在后台关闭进程后,进行再次安装操作,若还是无法成功进行测试,考虑换一台单片机或者去检测一下USB接口是否有问题

2023-01-17

空空如也

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

TA关注的人

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