💞💞前言hellohello~,这里是大耳朵土土垚~💖💖,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹💥个人主页:大耳朵土土垚的博客💥所属专栏:数据结构学习笔记💥对于数据结构顺序表、链表、堆有疑问的都可以在上面数据结构的专栏进行学习哦~有问题可以写在评论区或者私信我哦~前面我们学习过二叉树的前、中、后序遍历以及二叉树层序遍历,今天我们将继续学习有关二叉树的实现🥳🥳🥳1.二叉树的构建1.1二叉树的结构typedefcharBTDataType;//这里使用字符类型方便看下面的ABC等字母//typedefintBTDataType;其他我们使用inttypedefstructBinaryTreeNode{
💞💞前言hellohello~,这里是大耳朵土土垚~💖💖,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹💥个人主页:大耳朵土土垚的博客💥所属专栏:数据结构学习笔记、排序算法合集💥对于数据结构顺序表、链表、堆有疑问的都可以在上面数据结构的专栏进行学习哦~有问题可以写在评论区或者私信我哦~一、选择排序基本思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。这里选择排序介绍两种——直接选择排序、堆排序二、直接选择排序✨✨在元素集合array[i]–array[n-1]中选择关键码最大(小)的数据元素✨✨若它不是这组元素中的最后一个(第一个)元素,则将
前言💞💞啦啦啦~这里是土土数据结构学习笔记🥳🥳💥个人主页:大耳朵土土垚的博客💥所属专栏:数据结构学习笔记💥对于数据结构顺序表链表有疑问的都可以在上面数据结构的专栏进行学习哦~欢迎大家🥳🥳点赞✨收藏💖评论哦~🌹🌹🌹有问题可以写在评论区或者私信我哦~一、堆的概念及结构如果有一个关键码的集合K={k1,k2,k3,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:ki=k(2i+1)且ki>=k(2i+2))i=0,1,2…,则称为小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。堆的性质:堆中某个节点的值总是不大于或不小于其父
前言hellohello~这里是土土数据结构学习笔记🥳🥳💥个人主页:大耳朵土土垚的博客💥所属专栏:数据结构学习笔记💥对于数据结构顺序表链表有疑问的都可以在上面数据结构的专栏进行学习哦~感谢大家的观看与支持🌹🌹🌹有问题可以写在评论区或者私信我哦~前面我们已经学习过了数据结构中顺序表和链表(都放在数据结构专栏了),今天我们将继续学习数据结构中二叉树有关的知识🥳🥳💥1.树概念及结构🎉1.1树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。类似于倒立的树:✨有一个特殊的结点,称为根结点,如
hellohello~这里是土土数据结构学习笔记🥳🥳💥个人主页:大耳朵土土垚的博客💥所属专栏:数据结构学习笔记💥对于顺序表链表有疑问的都可以在上面数据结构的专栏进行学习哦~感谢大家的观看与支持🌹🌹🌹有问题可以写在评论区或者私信我哦~前言:之前的博客我们学习了数据结构中的顺序表和链表,现在我们一起回顾一下它们各自的优缺点。首先是顺序表:✨优点:1.支持下标的随机访问(因为是数组的形式);2.尾插尾删比较方便,效率不错;3.CPU高速缓存命中率较高;✨缺点:1.前面部分插入删除数据需要挪动数据,时间复杂度为O(n);2.空间不够需要扩容——一方面扩容需要付出代价例如异地扩容,另一方面扩容一般还伴随
前言✨✨💥个人主页:大耳朵土土垚-CSDN博客💥 所属专栏:数据结构学习笔记💥双链表与单链表的区分:单链表介绍与实现💥对于malloc函数有疑问的:动态内存函数介绍 感谢大家的观看与支持🌹🌹🌹 有问题可以写在评论区或者私信我哦~ 目录前言✨✨一、💥💥什么是带头双向循环链表?二、🥳🥳带头双向循环链表的实现 1.搭建链表基础2.从内存中开辟一个节点3. 创建返回链表的头结点4.双向链表销毁5.双向链表打印 6.双向链表尾插 7.双向链表尾删8.双向链表头插 9.双向链表头删 10.双向链表查找11.双向链表在pos的前面进行插入 12.双向链表删除pos位置的节点 三、💫💫拓展四
文章目录UdpSocketUdpServer.hppUdpServer类成员变量解释成员函数解释UdpServer的实现ServerIinit的实现socketbindhtonsinet_addr具体实现ServerStart的实现recvfromsendtontohsinet_ntoa具体实现~UdpServer函数实现UdpServer.hpp整体完整代码UdpServer.ccUdpClient.ccThread.hppUdpClient.cc实现Common.hLog.hppUdpSocket我们要用udp协议来实现网络通信。我们要用udp协议实现两样:UdpServer(服务器)Ud
目录 1.什么是链表?2.链表的分类(1)无头单向非循环链表:(2)带头双向循环链表:3.单链表的实现 (1)单链表的定义(2)动态创建节点(3)单链表打印(4)单链表尾插(5)单链表头插(6)单链表尾删(7)单链表头删(8)单链表查找(9)单链表在pos位置之后插入(10)单链表在pos位置之前插入(11)单链表删除pos位置的节点(12)单链表销毁 4.运行结果5.结语 1.什么是链表?链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 逻辑图如下:可以看出链表有两个变量,一个存放数据,另一个存放指向下一节点的指针;此外链表还具有以下特征
目录前言 一、顺序表是什么?1.静态顺序表:使用定长数组存储元素2.动态顺序表:使用动态开辟的数组存储。二、接口实现1.动态顺序表存储2.基本增删查改接口(1)初始化顺序表(2)顺序表摧毁(3)检查空间(4)顺序表打印(5)顺序表尾插(6)顺序表尾删(7)顺序表头插(8)顺序表头删(9)顺序表在pos位置插入x(10)顺序表在pos位置删除x(11)顺序表查找3.代码运行结果如下:前言在学习顺序表之前我们要了解什么是线性表?1.线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...2.线性
文章目录1.IPIPIP地址定义2.IPv4IPv4IPv4的表示方法2.1IPv4IPv4IPv4的分类编址法2.2IPv4IPv4IPv4的划分子网法2.2.1如何划分子网2.2.2如何确定子网的借位数2.2.3总结2.2.4题目练习2.3IPv4IPv4IPv4的无分类编址法1.IPIPIP地址定义现如今有两版IPIPIP地址:IPv4IPv4IPv4和IPv6IPv6IPv6,先讨论IPv4IPv4IPv4IPv4IPv4IPv4用323232位二进制来表示,但是二进制不符合人类阅读习惯,所以为了易读性考虑,采用了:每888位为一组,一共分为444组,每组之间用′.′'.'′.′隔开,