-
查视对象内部所有 属性名和属性值组成的字典
所属栏目:[编程] 日期:2022-11-03 热度:3731
在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,而值作为该键对应的值。
为了方便用户查看类中包含哪些属性,Python 类提供了 __dict__ 属性。需要注意[详细] -
Python生成器 说明
所属栏目:[编程] 日期:2022-11-03 热度:4059
前面章节中,已经详细介绍了什么是迭代器。生成器本质上也是迭代器,不过它比较特殊。
以 list 容器为例,在使用该容器迭代一组数据时,必须事先将所有数据存储到容器中,才能开始迭代;而生成器却不同,[详细] -
何为迭代器 Python迭代器 及其用法
所属栏目:[编程] 日期:2022-11-03 热度:8486
前面章节中,已经对列表(list)、元组(tuple)、字典(dict)、集合(set)这些序列式容器做了详细的介绍。值得一提的是,这些序列式容器有一个共同的特性,它们都支持使用 for 循环遍历存储的元素,都是可迭代[详细]
-
什么 叫做广义表
所属栏目:[编程] 日期:2022-11-02 热度:9268
前面讲过,数组即可以存储不可再分的数据元素(如数字 5、字符 'a'),也可以继续存储数组(即 n 维数组)。
但需要注意的是,以上两种数据存储形式绝不会出现在同一个数组中。例如,我们可以创[详细] -
矩阵 稀 疏矩阵 的转置算法 C语言 说明
所属栏目:[编程] 日期:2022-11-02 热度:752
矩阵(包括稀疏矩阵)的转置,即互换矩阵中所有元素的行标和列标,
矩阵转置的实现思路是:不断遍历存储矩阵的三元组表,每次都取出表中 j 列最小的那一个三元组,互换行标和列标的值,并按次序存储到一[详细] -
串的 堆分配存储框架
所属栏目:[编程] 日期:2022-11-02 热度:8829
串的堆分配存储,其具体实现方式是采用动态数组存储字符串。
通常,编程语言会将程序占有的内存空间分成多个不同的区域,程序包含的数据会被分门别类并存储到对应的区域。拿 C 语言来说,程序会将内存分[详细] -
串的块链存储 构造
所属栏目:[编程] 日期:2022-11-02 热度:9633
串的块链存储,指的是使用链表结构存储字符串。
链表各节点存储数据个数的多少可参考以下几个因素:
串的长度和存储空间的大小:若串包含数据量很大,且链表申请的存储空间有限,此时应尽可能的让各[详细] -
BF算法 串模式匹配算法 C语言解说
所属栏目:[编程] 日期:2022-11-02 热度:2735
串的模式匹配算法,通俗地理解,是一种用来判断两个串之间是否具有"主串与子串"关系的算法。
主串与子串:如果串 A(如 "shujujiegou")中包含有串 B(如 "ju"),则称串 A 为主串,串 B 为子串。主串与[详细] -
矩阵 稀疏矩阵 压缩 存储 3种方案
所属栏目:[编程] 日期:2022-11-01 热度:8337
数据结构中,提供针对某些特殊矩阵的压缩存储结构。
矩阵中有两条对角线,其中的对角线称为主对角线,另一条从左下角到右上角的对角线为副对角线。对称矩阵指的是各数据元素沿主对角线对称的矩阵。
[详细] -
图的顺 序存储结构 包括C语言实现
所属栏目:[编程] 日期:2022-11-01 热度:8617
使用图结构表示的数据元素之间虽然具有“多对多”的关系,但是同样可以采用顺序存储,也就是使用数组有效地存储图。
使用数组存储图时,需要使用两个数组,一个数组存放图中顶点本身的数据(一[详细] -
图的 邻接表存储结构细况
所属栏目:[编程] 日期:2022-11-01 热度:9687
通常,图更多的是采用链表存储,具体的存储方法有 3 种,分别是邻接表、邻接多重表和十字链表。
在具体讲解邻接表存储图的实现方法之前,先普及一个"邻接点"的概念。在图中,如果两个点相互连通,即通过[详细] -
什么是 生成树 生成树 生成森林 解说
所属栏目:[编程] 日期:2022-11-01 热度:836
在学习连通图的基础上,本节学习什么是生成树,以及什么是生成森林。
对连通图进行遍历,过程中所经过的边和顶点的组合可看做是一棵普通树,通常称为生成树。
连通图中,由于任意两顶点之间可能[详细] -
何为 连通图 强 连通图详解
所属栏目:[编程] 日期:2022-11-01 热度:2485
前面介绍了《图存储结构》,本节继续讲解什么是连通图。
前面讲过,图中从一个顶点到达另一顶点,若存在至少一条路径,则称这两个顶点是连通着的。例如图 1 中,虽然 V1 和 V3 没有直接关联,但从 V1 到[详细] -
Java访 问对象的属性和行为
所属栏目:[编程] 日期:2022-10-31 热度:7322
每个对象都有自己的属性和行为,这些属性和行为在类中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行为。
在 Java 中,要引用对象的属性和行为,需要使用点(.)操作符来[详细] -
Java匿 名对象
所属栏目:[编程] 日期:2022-10-31 热度:1611
经过前面的学习,我们知道创建对象的标准格式如下:
类名称 对象名 = new 类名称();
每次 new 都相当于开辟了一个新的对象,并开辟了一个新的物理内存空间。如果一个对象只需要使用唯一的一次,就可[详细] -
Java创建对象 详解 显式创建和隐含创建
所属栏目:[编程] 日期:2022-10-31 热度:5935
对象是对类的实例化。对象具有状态和行为,变量用来表明对象的状态,方法表明对象所具有的行为。Java 对象的生命周期包括创建、使用和清除,本文详细介绍对象的创建,在 Java 语言中创建对象分显式创建与隐含创建[详细]
-
Java this关键字 详解 3种用法
所属栏目:[编程] 日期:2022-10-31 热度:8534
this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。
下面我们根据示例分别讲解 this 关键字的作用。
this[详细] -
Java成员 方法的声明和调用
所属栏目:[编程] 日期:2022-10-31 热度:2491
声明成员方法可以定义类的行为,行为表示一个对象能够做的事情或者能够从一个对象取得的信息。类的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方[详细]
-
再聊聊UDP和TCP
所属栏目:[编程] 日期:2022-10-28 热度:8145
TCP 是面向连接的传输协议,建立连接时要经过三次握手,断开连接时要经过四次握手,中间传输数据时也要回复 ACK 包确认,多种机制保证了数据能够正确到达,不会丢失或出错。
UDP 是非连接的传输协议,没[详细] -
解析TCP四次握手断开连接
所属栏目:[编程] 日期:2022-10-28 热度:8244
建立连接非常重要,它是数据正确传输的前提;断开连接同样重要,它让计算机释放不再使用的资源。如果连接不能正常断开,不仅会造成数据传输错误,还会导致套接字不能关闭,持续占用资源,如果并发量高,服务器压[详细]
-
详细分析TCP数据的传输步骤
所属栏目:[编程] 日期:2022-10-28 热度:604
此时 Ack 号为 1301 而不是 1201,原因在于 Ack 号的增量为传输的数据字节数。假设每次 Ack 号不加传输的字节数,这样虽然可以确认数据包的传输,但无法明确100字节全部正确传递还是丢失了一部分,比如只传递了8[详细]
-
图解TCP数据报结构以及三次握手 很详细
所属栏目:[编程] 日期:2022-10-28 热度:4048
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。
客户端在收发数据前要使用 connect() 函数和[详细] -
TCP协议的粘包难题 数据的无边界性
所属栏目:[编程] 日期:2022-10-28 热度:5972
上节我们讲到了socket缓冲区和数据的传递过程,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发送了多少次,都会尽可能多的接收数据。也就是说,read()/recv() 和 write()/send() 的执行次数可[详细]
-
2路插入排序算法说明
所属栏目:[编程] 日期:2022-10-27 热度:6929
2-路插入排序算法是在折半插入排序的基础上对其进行改进,减少其在排序过程中移动记录的次数从而提高效率。
具体实现思路为:另外设置一个同存储记录的数组大小相同的数组 d,将无序表中第一个记录添加进[详细] -
折半插入排序算法 C语言代码达成
所属栏目:[编程] 日期:2022-10-27 热度:1810
上一节介绍了直接插入排序算法的理论实现和具体的代码实现,如果你善于思考就会发现该算法在查找插入位置时,采用的是顺序查找的方式,而在查找表中数据本身有序的前提下,可以使用折半查找来代替顺序查找,这种[详细]

浙公网安备 33038102330483号