算法学习
易风有点疯
我就是个小菜鸡,每天都要笑嘻嘻
展开
-
js算法之旅:二叉搜索树实现
二叉树中的节点最多只能有两个子节点:一个是左侧子节点,另一个是右侧子节点。这些定义有助于我们写出更高效的向/从树中插入、查找和删除节点的算法。二叉树在计算机科学中的应用非常广泛。二叉搜索树(BST)是二叉树的一种,但是它只允许你在左侧节点存储(比父节点)小的值,在右侧节点存储(比父节点)大(或者等于)的值。......原创 2022-08-30 09:46:35 · 367 阅读 · 0 评论 -
js数据结构与算法:优先队列
一般来说,队列讲究先进先出,后进后出就像排队一样。但现实中往往有人有特权,比如机场vip,医院急症室,这些都属于需要优先处理的,即使他是后来的,但人家优先级比较高。原创 2022-08-12 11:08:13 · 625 阅读 · 0 评论 -
js算法之旅:枚举
将所有可能出现的情况都列举出来就是枚举。原创 2022-08-08 16:50:29 · 289 阅读 · 0 评论 -
js算法之旅:用队列和栈计算出扑克玩:拖板车(小猫钓鱼) 游戏的结果
小哼先拿出手中的第一张扑克牌放在桌上,然后小哈也拿出手中的第一张扑克牌,并放在小哼刚打出的扑克牌的上面,就像这样两人交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌面相同,即可将两张相同的牌及其中间所夹的牌全部取走,并依次放到自己手中牌的末尾。假如游戏开始时,小哼手中有 6 张牌,顺序为 2 4 1 2 5 6,小哈手中也有 6 张牌,顺序为 3 1 3 5 6 4,最终谁会获胜呢?现在你可以拿出纸牌来试一试。存储数据的方式,先进后出、后进先出,例如手枪上膛了,先打出得永远是最后上进去那发子弹。...原创 2022-08-05 10:37:27 · 1293 阅读 · 0 评论 -
JavaScript算法之旅:简易桶排序、冒泡排序、快速排序
每次排序的时候设置一个基准点,将小于等于基准点的数全部放到基准点的左边,将大于等于基准点的数全部放到基准点的右边。这样在每次交换的时候就不会像冒泡排序一样只能在相邻的数之间进行交换,交换的距离就大得多了。当然在最坏的情况下,仍可能是相邻的两个数进行了交换。因此快速排序的最差时间复杂度和冒泡排序是一样的,都是O(N2),它的平均时间复杂度为O(NlogN)。小哼的班上只有5个同学,这5个同学分别考了5分、3分、5分、2分和8分,哎考得真是惨不忍睹(满分是10分)。...原创 2022-07-26 15:18:04 · 421 阅读 · 0 评论