- 一.常见的计算机网络体系结构 1. OSI体系结构OSI体系结构,理想化七层协议OSI实现复杂运行效率低,最终市场没用采用它 2. TCP/IP体系结构TCP/IP体系结构,真实采用的四层协议TCP/IP将数据链路层和物理层简化为了网络接口层将会话层表示层应用层简化为应用层网络接口层进行沟通传输,没有限定接口,这样可以使用不同网络接口进行互联IP协议可以将不同的网络接口进行互联,并向上TC... 一.常见的计算机网络体系结构 1. OSI体系结构OSI体系结构,理想化七层协议OSI实现复杂运行效率低,最终市场没用采用它 2. TCP/IP体系结构TCP/IP体系结构,真实采用的四层协议TCP/IP将数据链路层和物理层简化为了网络接口层将会话层表示层应用层简化为应用层网络接口层进行沟通传输,没有限定接口,这样可以使用不同网络接口进行互联IP协议可以将不同的网络接口进行互联,并向上TC...
- 指针的类型转换void*表示不知道指向什么东西的指针计算时与char*相同(但不相通)指针也可以转换类型intp=&i;voidq = (void*)p;这并没有改变p所指的变量的类型,而是让后人用不同的眼光通过p看它所指的变量我不再当你是int啦,我认为你就是个void!用指针来做什么需要传入较大的数据时用作参数传入数组后对数组做操作函数返回不止一个结果需要用函数来修改不止一个变量动态申请... 指针的类型转换void*表示不知道指向什么东西的指针计算时与char*相同(但不相通)指针也可以转换类型intp=&i;voidq = (void*)p;这并没有改变p所指的变量的类型,而是让后人用不同的眼光通过p看它所指的变量我不再当你是int啦,我认为你就是个void!用指针来做什么需要传入较大的数据时用作参数传入数组后对数组做操作函数返回不止一个结果需要用函数来修改不止一个变量动态申请...
- 一、递归版本🔑 核心思想 🔑 归并排序 (MERGE-SORT) 是建立在归并操作上的一种有效的排序算法,该算法是采用分治法 (Divide and Conquer) 的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列有序。若将两个有序表合并成一个有序表,称为二路归并。 归并排序核心步骤:❗ 动图演示:❕🧿 实现代码 —— 递归版 :... 一、递归版本🔑 核心思想 🔑 归并排序 (MERGE-SORT) 是建立在归并操作上的一种有效的排序算法,该算法是采用分治法 (Divide and Conquer) 的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列有序。若将两个有序表合并成一个有序表,称为二路归并。 归并排序核心步骤:❗ 动图演示:❕🧿 实现代码 —— 递归版 :...
- 1、冒泡排序🔑 核心思想 🔑 所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。❗ 冒泡排序的特性总结:❕ 1️⃣ 冒泡排序是一种非常容易理解的排序 2️⃣ 时间复杂度:O(N^2) 3️⃣ 空间复杂度:O(1) 4️⃣ 稳定性:稳定❗ 动图演示:❕🧿 实现代码 ... 1、冒泡排序🔑 核心思想 🔑 所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。❗ 冒泡排序的特性总结:❕ 1️⃣ 冒泡排序是一种非常容易理解的排序 2️⃣ 时间复杂度:O(N^2) 3️⃣ 空间复杂度:O(1) 4️⃣ 稳定性:稳定❗ 动图演示:❕🧿 实现代码 ...
- Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。 Trie树也有它的缺点,Tr... Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。 Trie树也有它的缺点,Tr...
- 1、直接插入排序🔑 核心思想 🔑 把待排序的记录按关键码的大小逐个插入到一个已经排好的序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列实际中我们玩扑克牌时,就用了插入排序的思想❗ 过程:❕当插入第 i(i>=1) 个元素时,前面的 array[0], array[1], … , array[i-1] 已经排好序,此时用 array[i] 的排序码与 array[i-1]... 1、直接插入排序🔑 核心思想 🔑 把待排序的记录按关键码的大小逐个插入到一个已经排好的序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列实际中我们玩扑克牌时,就用了插入排序的思想❗ 过程:❕当插入第 i(i>=1) 个元素时,前面的 array[0], array[1], … , array[i-1] 已经排好序,此时用 array[i] 的排序码与 array[i-1]...
- 为了节省存储空间并且加快处理速度,需要对这类矩阵进行压缩存储,压缩存储的原则是:不重复存储相同元素;不存储零值元素。一、相关概念㈠特殊矩阵 矩阵中存在大多数值相同的元,或非0元,且在矩阵中的分布有一定规律。⒈对称矩阵矩阵中的元素满足 aij=aji 1≤i,j≤n⒉三角矩阵 上(下)三角矩阵指矩阵的下(上)三角(不包括对角线)中的... 为了节省存储空间并且加快处理速度,需要对这类矩阵进行压缩存储,压缩存储的原则是:不重复存储相同元素;不存储零值元素。一、相关概念㈠特殊矩阵 矩阵中存在大多数值相同的元,或非0元,且在矩阵中的分布有一定规律。⒈对称矩阵矩阵中的元素满足 aij=aji 1≤i,j≤n⒉三角矩阵 上(下)三角矩阵指矩阵的下(上)三角(不包括对角线)中的...
- 一、稀疏矩阵的定义 对于那些零元素数目远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称为稀疏矩阵(sparse)。 人们无法给出稀疏矩阵的确切定义,一般都只是凭个人的直觉来理解这个概念,即矩阵中非零元素的个数远远小于矩阵元素的总数,并且非零元素没有分布规律。二、稀疏矩阵的压缩存储 由于稀疏矩阵中非零元素较少,零元素较多,因此可以采用只存储非零元素的方法来... 一、稀疏矩阵的定义 对于那些零元素数目远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称为稀疏矩阵(sparse)。 人们无法给出稀疏矩阵的确切定义,一般都只是凭个人的直觉来理解这个概念,即矩阵中非零元素的个数远远小于矩阵元素的总数,并且非零元素没有分布规律。二、稀疏矩阵的压缩存储 由于稀疏矩阵中非零元素较少,零元素较多,因此可以采用只存储非零元素的方法来...
- @toc 一:关联式容器容器分类:序列式容器:初阶阶段中学习过STL中的部分容器,如:vector、list、deque等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身关联式容器:关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key,value>结构的键值对(保存映射关系),在数据检索时比序列式容器效率更高 二:键值对概念:用来表示具有... @toc 一:关联式容器容器分类:序列式容器:初阶阶段中学习过STL中的部分容器,如:vector、list、deque等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身关联式容器:关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key,value>结构的键值对(保存映射关系),在数据检索时比序列式容器效率更高 二:键值对概念:用来表示具有...
- 循环是用于循环通过一组指令直到满足某些条件假设我们页面中有100个按钮,我们想要给每一个按钮都添加上同样的事件,我们肯定不能一个个的获取元素然后再给元素一个一个的添加事件,这样可能会有几千行的代码。最常见的做法是啥?我们需要去循环元素数组,再循环中给元素添加点击事件。知道我们已经遍历完100个按钮元素,程序终止执行! 1.while循环它是最流行的循环之一,并执行一组给定的指令,直到满足条件... 循环是用于循环通过一组指令直到满足某些条件假设我们页面中有100个按钮,我们想要给每一个按钮都添加上同样的事件,我们肯定不能一个个的获取元素然后再给元素一个一个的添加事件,这样可能会有几千行的代码。最常见的做法是啥?我们需要去循环元素数组,再循环中给元素添加点击事件。知道我们已经遍历完100个按钮元素,程序终止执行! 1.while循环它是最流行的循环之一,并执行一组给定的指令,直到满足条件...
- 浅拷贝让我们举一个例子来更好地理解浅拷贝const array1 = [1, 2, 3];const array2 = array1;array2.push(4)console.log(array2); // [1,2,3,4]console.log(array1); // [1,2,3,4]在上面的例子中,我们已经定义array1了[1,2,3],然后我们声明array2并分配array... 浅拷贝让我们举一个例子来更好地理解浅拷贝const array1 = [1, 2, 3];const array2 = array1;array2.push(4)console.log(array2); // [1,2,3,4]console.log(array1); // [1,2,3,4]在上面的例子中,我们已经定义array1了[1,2,3],然后我们声明array2并分配array...
- 在JavaScript数组中提供了很多内置的方法来方便我们操作数据!本文主要介绍一些常用的数组方法! some()some 是一个返回布尔值的数组方法。它将测试数组中至少一个满足给定条件的元素。如果测试为真,那么它将停止对数组的其余部分进行测试。如果测试条件为假,它将搜索剩余的元素,如果所有测试都失败,它将返回假。const arr=[1,2,3,4,5,6,7,8,9]const resu... 在JavaScript数组中提供了很多内置的方法来方便我们操作数据!本文主要介绍一些常用的数组方法! some()some 是一个返回布尔值的数组方法。它将测试数组中至少一个满足给定条件的元素。如果测试为真,那么它将停止对数组的其余部分进行测试。如果测试条件为假,它将搜索剩余的元素,如果所有测试都失败,它将返回假。const arr=[1,2,3,4,5,6,7,8,9]const resu...
- 大家好!本篇文章将介绍关于数据结构之链表的OJ题,来自力扣:160. 相交链表 题解,展示代码语言暂时为:Java语言。 大家好!本篇文章将介绍关于数据结构之链表的OJ题,来自力扣:160. 相交链表 题解,展示代码语言暂时为:Java语言。
- 本篇文章带大家认识集合框架—Set与Map及其相关实现类,这是关于集合框架的最后一篇文章,本文将介绍Set与Map及其相关实现类的使用,它们底层的实现原理暂不关心,重点是使用,后续文章将会介绍底层的原理。 本篇文章带大家认识集合框架—Set与Map及其相关实现类,这是关于集合框架的最后一篇文章,本文将介绍Set与Map及其相关实现类的使用,它们底层的实现原理暂不关心,重点是使用,后续文章将会介绍底层的原理。
- 本篇文章带大家认识Java语法——泛型与通配符,泛型和通配符是一个非常抽象的概念,简单来说,两者都可以将类型作为“参数”进行传递,不过泛型是在你知道传入什么类型的时候使用的,而通配符是你不确定传入什么类型的时候使用,本文将介绍泛型与通配符的使用及两者间的区别。 本篇文章带大家认识Java语法——泛型与通配符,泛型和通配符是一个非常抽象的概念,简单来说,两者都可以将类型作为“参数”进行传递,不过泛型是在你知道传入什么类型的时候使用的,而通配符是你不确定传入什么类型的时候使用,本文将介绍泛型与通配符的使用及两者间的区别。
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签