小森数据结构算法技术总结
文章平均质量分 69
数据结构算法
小森程序员
hello 我是小森 在这个平台上 记录成长过程,以及人脉和资源,求关注
展开
-
数据结构算法-并行搜索算法
虽然感觉好像写死 如果执行完,返回点东西 那么是没法子的 要么只能定义结构体 包含功能性返回值 参数设置修改等等 但也只能这样用 因为早期的也没有一些模版 啊什么的 当然就算模版 也不这么自由 要想达到恐怕得用全新的CPU 架构协议 到时候未必是所有的程序语言能够开发 应用系统 应用程序…虽然单个CPU的效率,看似乎只能执行一个进程,但他会切换 切换的时间 每秒执行 亿或者上百万条指令 单个CPU 是以时间片段 执行 可能以10微秒 的切换到另一个进程 把不同的时间片分给不同的进程。原创 2024-01-02 11:21:44 · 932 阅读 · 0 评论 -
数据结构算法-穷举搜索算法
尽管这种方法可能会非常耗时,但对于一些简单的密码,穷举搜索可能是最有效的攻击方法。例如,在国际象棋中,一个AI可能会尝试所有可能的走法,并评估它们的结果,以找到最优的走法。穷举搜索是一种基本的搜索策略,其基本思想是逐一检查所有可能的解,直到找到一个有效的解或确定不存在解为止。编程调试:在编程中,当遇到错误时,程序员可能会尝试穷举所有可能的错误源和错误类型,以找到并解决问题。需要注意的是,虽然穷举搜索可以找到问题的解,但它通常只在问题的规模相对较小或有限的情况下才有效。直接对四种类型的硬币的个数进行穷举。原创 2023-12-25 18:38:11 · 500 阅读 · 0 评论 -
数据结构算法-二分查找算法
它的核心思路是每次查找都从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果目标元素大于或小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且同样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到目标元素。记住只有顺序表和数组能用 当然二叉搜索树本来按照二分查找算法来的 这数据结构的规定 但算法只有连续并且有快速关键的索引 才是真正的快速 不是说链表不能实现 而是没有随机访问。二分查找算法是一种在有序数组中查找特定元素的搜索算法。二分查找算法 我们应该也不陌生 就在。原创 2023-12-20 14:07:10 · 39 阅读 · 0 评论 -
数据结构算法-快速排序算法
选择一个“基准”元素,将数组分为两个子数组,一个包含比基准小的元素,另一个包含比基准大的元素,然后对这两个子数组进行递归排序。如果找到一个小于基准的元素,将其与 i 指向的元素交换,并将 i 向右移动一位。如果找到一个大于基准的元素,将其与 j 指向的元素交换,并将 j 向左移动一位。通过循环移动指针 j 从右向左,直到找到一个小于基准的元素或达到 i 的位置。通过循环移动指针 i 从左向右,直到找到一个大于基准的元素或达到 j 的位置。返回 i 的值,表示基准元素在排序后的数组中的位置。原创 2023-12-19 10:34:03 · 56 阅读 · 0 评论 -
数据结构算法-归并排序算法
在循环中,比较arr[i]和arr[j]的大小,将较小的元素复制到TempArr[k],然后将相应的指针向前移动一位。一个整型数组arr,以及三个整数left、mid和right,分别代表数组的左边界、中间点和右边界,还有一个整型指针TempArr,用于存放合并后的结果。筛选出与用户兴趣相关的视频,这些视频可能来自用户关注的人、喜欢的品牌、或者是与用户历史观看记录相似的视频。原创 2023-12-06 12:16:00 · 118 阅读 · 0 评论 -
数据结构算法-希尔排序算法
经过一番努力,小明和小森终于将扑克牌排好序了。在接下来的“谁是老板”游戏中,他们凭借着已经排好序的扑克牌,一路高歌猛进,最终获得了胜利!小森高兴地说:“希尔排序真是太神奇了!我们以后可以多使用它来对扑克牌进行排序!小明也笑着说:“是啊,而且我们可以把扑克牌当作数字来练习我们的数学能力!在这个欢声笑语的下午,小明和小森不仅学会了使用希尔排序来对扑克牌进行排序,还体验到了算法的魅力。他们明白了一个道理:只要肯努力,总会找到解决问题的方法!原创 2023-12-06 11:20:19 · 276 阅读 · 0 评论 -
数据结构算法-插入排序算法
具体来说,我们将第二个元素与第一个元素比较,如果第二个元素比第一个元素小,则交换它们的位置。然后再将第三个元素插入到前两个元素已经排序好的部分中,以此类推,直到将最后一个元素插入到整个序列中。往前遍历已排序的序列,如果当前元素大于"value",则将当前元素移至下一位置。这个过程就像在已排序的序列中寻找"value"的正确位置。从数组的第二个元素开始遍历,假设当前元素是已排序的序列中的一个正确位置,记为"value"。当找到"value"的正确位置后,将"value"插入这个位置。原创 2023-12-04 15:24:59 · 198 阅读 · 0 评论 -
数据结构算法-冒泡排序算法
对于相同的元素,它们在排序后的位置可能会改变,因为冒泡排序会将相邻的两个元素进行比较和交换,这样相同的元素就可能会在排序过程中交换位置。对于选择排序而言,它在找到最大值或最小值的下标时,并没有考虑值相同的元素的顺序,因此如果有多个相同值的元素,交换它们的位置可能会打乱它们的相对顺序。冒泡排序的基本思想是,通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就像水底的气泡一样逐渐向上冒。到i=2的时候 已经是排序了 那么这里应该如何优化?原创 2023-12-02 14:55:35 · 200 阅读 · 0 评论 -
数据结构算法-堆技术点
然后利用删除的特性,交换堆顶和堆底元素,调用向下调整函数,循环该步骤直到 元素 的大小>1的时候退出。只要违反规矩,你就失去了资格,No只是很现实的规矩 但只是数据结构算法,有没有这个数据结构呢?比赛: 2020年的东京奥运会 男子4*100米接力赛中的兔子队 就是更好的典型的例子。以前高铁站缴费也要排队,但只要有残疾人或者老人,拥有军人证书的军人,就会。最小堆和最大堆是相反的操作,只要堆顶元素确保是最小的。,也就是顺序表的第一个元素,,也就是顺序表的第n个元素,来看看堆排序的实现吧!原创 2022-09-19 10:22:58 · 665 阅读 · 0 评论 -
数据结构算法-选择排序算法
当然,选择排序只是一种基础的排序算法,对于更复杂的排序任务,需要使用更加高效的排序算法,以提高排序的速度和效率。只要排序 外层 循环 i=( 0~ n-1 ) (n>0) 定义maxindex 最大索引默认为0 内层循环j 1到 n-i 比较次数。如果 这个找到的max的值不等于 当前末尾的值 也就是 n-i-1;可能关键字的不同对应的是不同的视频 搜索,排序是算法必备的。原创 2023-12-01 14:57:55 · 166 阅读 · 0 评论 -
数据结构算法-分支定界算法
广度优先搜索:就是说按照顺序入队 并且搜索扩展节点 探测四面八方,如此循环直到箱子 如下图示。先进先出 的方式 :产生问题节点按照顺序加入到队列 并且由于 取扩展节点也会产生子扩展节点。将问题分成 一颗搜索树 采用广度优先搜索或者最小消耗法 来进行,加入的节点是最小的 按照最小的来进行处理 反而 将用最大收益处理。将最优以及其他的计算出可能目前看来最合适的节点 放入到列表中。之前不撞南墙不回头的方法-深度优先搜索 的方式。舍弃不可能产生问题节点 并且找出最优的扩展节点。等待执行顺序依次的结果。原创 2023-11-29 17:42:07 · 81 阅读 · 0 评论 -
数据结构算法-贪心算法
好吧,人毕竟是未来 到是便宜了,胡桃”…但我们比还有狠 直接 1块钱(20张) 2块钱(6张) 5块钱(3张) 10块钱 (6张) 20块钱(2张) 50块钱(3张) 100块钱 (5张)一共是807元 倘若给我找600块 若是从1块开始找 效率低下 你想想谁会用这种方法!这种选择可能能找到问题的解 (局部最优解)若不能找到问题的解(局部最优解)返回错误值 ,能找到问题的解(局部最优解)直接返回。贪心:人只要有 “需求“ ,都会有有点“贪“, 这种“贪“是一种选择,或者“”取舍“原创 2023-11-23 13:40:09 · 1999 阅读 · 0 评论 -
数据结构算法-回溯算法
小坤看着小森和派蒙焦虑的样子,笑着说:“你们不必担心迷宫中的路径,我可以给你们提供一种回溯算法,这种算法可以帮助你们在迷宫中寻找路径。在接下来的冒险中,他们分工合作,派蒙利用深度优先搜索算法不断探索迷宫中的路径,而小坤则根据回溯算法不断调整搜索方向,引导他们找到正确的路径。派蒙看着小森愁眉苦脸的样子,笑着说:“别担心,小森,我们可以利用深度优先搜索来寻找路径。在探索的过程中,小森想起自己的冒险经历,“派蒙,你说我们会不会像以前一样遇到很多困难呢?”小森向他的老朋友派蒙诉说。小森握紧拳头,“好!原创 2023-11-08 12:37:04 · 98 阅读 · 0 评论 -
数据结构算法-动态规划算法
space 空间定义啥数据结构?想一想他需要的是顺序并且方便于操作 链表:我?不,顺序表 :我才对链表: 不好意思啊 抱歉 居然是用的是 顺序表 那么没啥好 焦虑的 直接一个循环就办到的事情所以没啥可焦虑的了首先记录 当然数组下标 space【0】=0;space【1】=1;space【2】=2;3 -制定一些策略 和方式达到求解问题的目的n=3也就是循环处理space的数据直到 循环变量i结束 这个怎么知道结束?或者说i=3 i原创 2023-10-25 16:50:18 · 112 阅读 · 0 评论 -
数据结构算法-分而治之算法
在原神游戏中,分而治之是一种特殊的玩法,玩家需要将地图分割成不同的区域,并在每个区域内进行探索、收集、战斗等操作。总之,分而治之的玩法是将一个庞大的游戏世界分解成更小的区域,让玩家更容易掌握和探索。分而治之算法的核心思想是将原始问题分解为若干个子问题,然后分别解决这些子问题,最后将子问题的解合并以得到原问题的解。他的心跳加速,他的手心出汗,他的眼睛在人群中焦急地扫视着。他坚信,只有通过这种细致的搜索和耐心的等待,才能找到他想找的人。完全是中国中国主导的文化,输出到国外的最好的,也是最成功的 文化输出。原创 2023-09-07 14:44:05 · 1768 阅读 · 0 评论 -
图的企业应用-A*算法自动寻路
那怎么到达这个地点 并且拿出 这么多的信息 当然最重要是鸡你太美唱片,篮球 还有那只梅里猫-荔枝。MC想必大家都玩过,但鸡哥利用A*自动寻路算法来找箱子 箱子里有鸡你太美唱片,和准备好的篮球。当然在这是游戏中找到的宝箱 还得。兔子带来的人民,好家伙。原创 2023-06-13 22:46:46 · 547 阅读 · 0 评论 -
图的导航 - 最短路径算法
一个 恋爱关系图胡图图love:98于小美胡图图love:48何壮壮胡图图love:99小怪于小美love:10张帅子何壮壮love:45张帅子小怪love:100张帅子胡图图到张帅子的最短路径确定不是恋爱路径?原创 2023-06-08 20:10:38 · 1257 阅读 · 0 评论 -
图结构的原理
胡图图:“我成为电脑砖家(人们都在我吧上评论电脑配置).,按理说我应该开一家图图计算机研究科技公司…”!于小美:“没错,图图应该开一家公司 来扩展你的专业知识”何壮壮:“厉害是厉害 ,要不要大哥来帮帮你(至于钱,好说:月薪2万)…”图图:“你狮子大开口!,那你还是当 你的音乐天才吧”!壮壮:“还记得小时候,我胡说八道的建议,以及错误的引导 ,结果:还不是你自己(找到原因),并且说出来”图图:“别提了 ,说说你的打算吧 刷子”帅子:“我打算设计裙子 ,把我最讨厌的东西,设计起来,”原创 2023-06-08 11:38:23 · 589 阅读 · 0 评论 -
图的算法实现
当然 效率来说当然是还是一次性分配好 难道你想一个个扩展? 产生时间成本 有的时候一切的安排或许有效率 但也要学会变动态,比如说:突然忘记带笔记本电脑上班,赶紧回去找笔记本电脑 没有发生什么事情 .比如说 :遇见好久不见的朋友 聊一下什么的 我们需要理性的动态 而不是一边一次性安排计划 这个点我要干嘛 ;只会感觉没有意义 完全是计划绑定死了的人原创 2023-06-01 16:53:11 · 694 阅读 · 2 评论 -
[Bing Chat] 以某某这个数据结构 编一个故事 要求不能说出某某这个数据结构
好的,我试试。这是我编的一个故事,希望你喜欢: 有一天,小明要去参加一个数学竞赛,他需要在有限的时间内回答很多问题。他发现,有一种问题是这样的:给出一些数字,让他找出其中第k小的数字。例如,给出1,3,5,7,9,11,13,15,让他找出第4小的数字。小明觉得这种问题很简单,只要把数字从小到大排列,然后数到第k个就可以了。所以他很快就回答了7。 但是,当他遇到了更多的这种问题时,他发现有些数字很多,有些数字很大,有些数字重复出现。这样就让他的方法变得很慢,有时候甚至超过了时间限制。他开始担心自己会输掉比赛原创 2023-05-16 18:28:14 · 394 阅读 · 0 评论 -
数据结构算法-图技术点
这番描述有可能图图长大成人后, 毕竟图图已经是22岁了 ,刷子23岁 没错 刷子比图图大 当然是大3个月,这回忆杀有谁不爱呢。胡图图:“我成为电脑砖家(人们都在我吧上评论电脑配置).,按理说我应该开一家图图计算机研究科技公司…壮壮:“还记得小时候,我胡说八道的建议,以及错误的引导 ,结果:还不是你自己(找到原因),并且说出来”于小美:“没错,图图应该开一家公司 来扩展你的专业知识”图图:“你狮子大开口!帅子:“我打算设计裙子 ,把我最讨厌的东西,设计起来,”图图:“别提了 ,说说你的打算吧 刷子”原创 2023-05-08 11:30:37 · 615 阅读 · 1 评论 -
哈希表企业应用-DNA的字符串检测
若干年后, ikun DNA 检测部成立,专门对 这些ikun的解析检测 突然发现已经完全控制不了 因为学生已经会了 而且是太会了。原创 2023-05-02 17:19:57 · 479 阅读 · 0 评论 -
哈希表企业应用-淘宝分布式文件系统核心存储引擎
淘宝网 谁都知道 是一个电子商务网站,可能是第一批电商模式 b2c 当然从一个技术人员讲只有一点淘宝店铺商品存储到哪里 感觉有点像废话 :肯定在仓库里 不,我说的是 :商品详情页以及商品介绍 存储在哪里 我知道大家都会去看新奇的直播带货 ,但商品详情页才是当年的摸样 ,还有商品介绍但你进入到淘宝店铺的时候 你会发现哈喇子流出来了 当然我说的是食品店铺想什么呢,搁这怎么样想吃了吗:商品详情页以及商品介绍 存储 在哪里 服务器的硬盘里 当然我们应该知道硬盘只是存储图片或者视频。原创 2023-04-24 14:53:47 · 480 阅读 · 0 评论 -
顺序表 链表 队列 堆 栈 二叉搜索树 哈希表 图 这些数据结构 的应用场景
链表还可以用于实现待办事项列表,每个节点代表一个待办事项,指向下一个节点的指针代表待办事项的顺序。链表还可以用于实现联系人列表,每个节点代表一个联系人,指向下一个节点的指针代表联系人的顺序。链表可以用于实现购物车,每个节点代表一件商品,指向下一个节点的指针代表购物车中商品的顺序。游戏信息存储:可以使用哈希表来实现游戏信息存储中的索引结构,用于快速查找游戏数据和目录。LRU算法可以用链表和哈希表实现,其中链表用于维护访问顺序,哈希表用于快速查找数据。原创 2023-04-10 15:28:30 · 1190 阅读 · 0 评论 -
数据结构算法-哈希表技术点
小森是一名 “ikun科技大制作创作者” 但有自己的团队 团队有20个人, 4个人为一组 ,一共有五组。为了方便就为每一个组的人就起了编号 以后方便"考察每个人是否工作"分别为 策划组, 制作组, 配音组 ,编剧组, 调音组。原创 2023-03-15 16:17:51 · 474 阅读 · 2 评论 -
平衡机制二叉搜索树-红黑树原理
将数组的数据放入到二叉搜索树的会发生什么事情?有没有办法让二叉搜索树不像"麒麟臂"那样。这正是引入的主题 :自平衡二叉搜索树-如果是查找数据 17需要比较1次。可以看到 如果要是查找数据为。查找数据 2 需要比较6次。让二叉搜索树可以平衡?原创 2023-01-13 22:47:21 · 131 阅读 · 1 评论 -
树的企业应用-哈夫曼编码树-有趣的数据压缩算法
去家里,但是一个女生,所以找去上海迪尼斯玩 …去家里,但是一个女生,所以找去美国迪尼斯玩 …我们发现 一个关键点 有些重复的也不多 无非就高亮的地方 所以简化一下声明一下 在上方的引言里 凡是出现高亮的 统统替换为and去家里,但是一个女生,所以找去上海迪尼斯玩 ………去家里,但是一个女生,所以找去美国迪尼斯玩 ………这就是。原创 2022-12-09 21:26:49 · 789 阅读 · 0 评论 -
二叉搜索树-技术点
就像是电商里商品价格如下:如果挨个去查找 9.9 元的 小零食效率很显然 ,现在很明显是在第2位置 如何大大的提高呢先排序 价格 再来查找 你会发现不一样的美观 强迫症患者的福报,简直是经过排序:再用二分查找算法 怎么一查找就非常快 , 原理非常简单 就是从中间开始,如果 查找值 这个中间的比要小 那么排除中间+的数据 直接往左 直到找到 为止,否则往右查找二叉搜索树 就是非常符合查找数据 而且 也是两个分支一个左,右分支也非常复合人的特征 大脑分为左,右脑 ,手分为左,右手 脚分为左,原创 2022-12-08 11:11:24 · 501 阅读 · 0 评论 -
二叉搜索树-遍历算法
先遍历根节点 再遍历左子树, 再遍历右子树1. 遍历根节点 和 遍历左子树2. 遍历右子树2. 遍历右子树 ,并且 遍历 完毕 返回到 根节点原创 2022-11-21 15:23:04 · 214 阅读 · 0 评论 -
二叉搜索树-利用循环删除二叉搜索树算法
Loop_FindTreeMaxOrMinValue函数这里出现了问题。Bug1:不应该这样做。具体的细节看优化的代码。BUG3 无效的判断。原创 2022-11-10 14:24:20 · 216 阅读 · 1 评论 -
二叉搜索树-插入算法实现
【代码】二叉搜索树-插入算法实现。原创 2022-11-06 18:52:50 · 125 阅读 · 0 评论 -
数据结构算法-树的技术点
树是由n个有限结点组成层次关系的集合 这是一种树,并且还是倒挂的树,也就是从根 朝上,叶 朝下。从图中不难发现 这是一种树,并且还是倒挂的树, 生活当中的。每个结点都必须零个或者多个子结点 没有父节点则称为。每一个非根结点都仅有一个父节点 根节点除此之外。比如说 字节和他的子公司 .等等,每个子结点可以包含多个不相交子结点。那些具备经济实力的公司的旗下的。这就是生活当中的树 C++的。原创 2022-10-25 22:18:15 · 501 阅读 · 0 评论 -
数据结构算法-回溯算法技术点
当某个子问题, 无法继续 就得回退到前子问题 ,当然前子问题需要保存,用到的时候 回复,直到问题全部解决完毕。你在社交软件里如果发送了你认为错误的信息的时候,需要点击撤销按钮 删除撤销的信息。首先是向左走,如果能走得动设置迷宫的地图 并且更新这个位置。再向上走 ,如果能走得动设置迷宫的地图 并且更新这个位置。再向下走 ,如果能走得动设置迷宫的地图 并且更新这个位置。再向右走 ,如果能走得动设置迷宫的地图 并且更新这个位置。首先在当前的位置设置为2(参考下面的流程图)的时候,就需要回退一步 ,这就是回溯法。原创 2022-10-13 15:30:30 · 428 阅读 · 0 评论 -
数据结构算法-栈技术点
逻辑删除:不去直接删除 而是直接访问下一个元素 所谓的:忽略 不去直接删除 好处 避免了大量的移动 效率高。生活当中只有一个出口的瓶子,装羽毛球的筒子,玩具枪有子弹的弹夹, 水枪 管道,北京胡同 水龙头 等等。SeqStackAuxiliary这个好像没有见过 全网的文章都没有 那是要不然怎么做原创嘛,所谓的物理删除 该怎么删除就这么删除。栈是一个后进先出 的一种数据结构,顺序栈:用顺序表来做的栈 效果如上。栈::只允许后面出栈 后面入栈。尾部删除元素(逻辑删除)**栈不能被遍历 **原创 2022-10-11 13:57:31 · 501 阅读 · 0 评论 -
数据结构算法-队列技术点
SeqQueueAuxiliary 这个好像没有见过 全网的文章都没有 那是要不然怎么做原创嘛,排队,做核酸这些大家都有吧, 学校打饭是不是按照队伍的形式来 打饭?顺序队列:用顺序结构来做的队列 效果如上。队列:是一个先进先出 的一种数据结构,队列::只允许前面出队后面入队。队列:受限线性结构;....................................原创 2022-08-10 19:41:37 · 438 阅读 · 0 评论 -
数据结构算法-链表技术点
这很明显"物理"上不相同逻辑上是相同的张三----李四家-----王五家可以看成是一个链条连接着关系。就可以访问张三知道李四家地址也知道王五的地址可以随时互换。假设临时用到的一个火车车箱我们怎么给它们链接起来呢?**循环链表-约瑟夫问题weblink**假设前面有20节火车车箱,后面也有20节火车车箱。由于我没有"火车车箱",但是我们可以模拟的嘛。如何表示这种关系呢无论你在那里我知道你们的。链结在一起的,可以任意的添加,删除。而不是友情,搞错了,抱歉啊!............原创 2022-07-19 15:51:41 · 193 阅读 · 0 评论 -
Linux内核链表原理
只有指针域那怎么放数据呢??通过结构体定义链表结点元素数据1,数据2…数据n-1定义多少个数据都可以,但是最后一个必须为Lnux内核链表结点变量或者指向堆内存空间的指针首先分析一下为啥使用Lnux内核链表生活当中的汽车和客车和高铁民用客机,他们有一个共同的特征座椅所谓的座椅就是这些民用汽车和客车高铁民用客机就是这些数据也就是普通链表货车运煤炭的火车车箱底部是空的就可以载人或许有一定的危险性开快了会直接+…脑补一下画面,............原创 2022-07-19 15:28:38 · 314 阅读 · 0 评论 -
双向链表取消链链表结点
双向链表取消链链表结点。原创 2022-07-18 22:51:22 · 92 阅读 · 0 评论 -
双向链表链接链表结点
代码】双向链表链接链表结点。原创 2022-07-18 15:36:32 · 100 阅读 · 0 评论 -
单向链表取消链接链表结点
代码】单向链表取消链接链表结点。原创 2022-07-06 15:56:55 · 305 阅读 · 0 评论