
基础概念
文章平均质量分 68
数据存储及结构等一些基础概念
一只路人甲
有梦想的路人甲
展开
-
php排序算法
此时j=1,比较并交换位置之后 为 4,9,10,3。2.将待排序元素进行分区,比基准值小的元素放在基准值前面,比基准值大的元素放在基准值后面。分析:外层遍历,i=0的时候,就是拿 10 和内层 [‘10’,‘4’,‘9’,‘3’] 依次做比较,如果。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。第二轮,i=1,手机用4,9,3,10遍历比较完之后为 4,3,9,10。原创 2024-06-17 18:45:40 · 475 阅读 · 0 评论 -
算法相关的复杂度
衡量一个算法的好坏一般由两个维度来表示。时间复杂度和空间复杂度。 时间复杂度:表示算法的运行时间,T(n) = O(f(n)) 空间复杂度:表示算法的暂用内存空间,S(n) = O(1) 时间复杂度 首先要说的这里的运行时间并不是指计算程序具体运行的时间,而是算法执行语句的次数。 for(i=1; i<=n; i++) { j = i; j++; } 忽略不同的机器配置和外...原创 2019-10-28 17:44:18 · 216 阅读 · 0 评论 -
TCP三次握手和四次挥手
回过头来看看基础知识,简单的看看TCP的三次握手和四次挥手。 三次握手 CK、SYN和FIN这些大写的单词表示标志位,其值要么是1,要么是0;ack、seq小写的单词表示序号。 在客户端和服务器建立连接的时候, 客户端发送syn(syn=x)包到服务器,并进入SYN_SENT状态。 服务器在收到syn包后,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。 客户端收到SYN+ACK包之后,回复给服务器一个ACK(ack原创 2020-10-22 14:40:14 · 182 阅读 · 0 评论 -
二叉树和平衡二叉树
1. 二叉树 二叉树binary tree是指每个节点最多含有两个子树的树结构。 特点: 1.所有节点最多拥有两个子节点,即度不大于2 2.左子树的键值小于根的键值,右子树的键值大于根的键值。 因为二叉树只是定义了简单的结构,所以存在多种深度可能,导致二叉树的效率低,所以引入了平衡二叉树。 2. 平衡二叉树 2.1 avl树 平衡二叉树,基于avl算法,即是avl树(avl tree) 特点: 1.符合二叉树的条件下 2.任何节点的两个子树的高度最大差为1原创 2024-03-04 12:12:23 · 535 阅读 · 0 评论 -
一文搞懂所有常见数据结构
比如我给score插入了值是1,其实应该是00000001,左边补0直到长度达到8位。对于int型的字段来说,能存储的最大值和最小值永远都是固定的,int存储大小为4个字节32位,就相当于int32,取值范围就是 -2^31 ~ 2^31 – 1。int8是八位bit,占用一个字节byte,其中最高位符号位(最左边)1是符号,0是正号。计算机只能处理0和1,计算机能把0和1转换成电路中的信号来计算,这个就是计算机的本质。那么最大二进制的数值就是 0 1 1 1 1 1 1 1 ,换成10进制来就是。原创 2024-03-06 14:37:59 · 891 阅读 · 0 评论