- 一.常见的计算机网络体系结构 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语法——泛型与通配符,泛型和通配符是一个非常抽象的概念,简单来说,两者都可以将类型作为“参数”进行传递,不过泛型是在你知道传入什么类型的时候使用的,而通配符是你不确定传入什么类型的时候使用,本文将介绍泛型与通配符的使用及两者间的区别。
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签