![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
goose leaves a mark
这个作者很懒,什么都没留下…
展开
-
LRU缓存 js实现
class DLinkNode { key = ''; value = null; pre = null; next = null; constructor(key,value) { this.key = key; this.value = value; }}/** * * LRU 缓存 * */class LRUCache { /** LRU缓存容量 */ capacity = 3;.原创 2021-11-21 14:33:24 · 863 阅读 · 0 评论 -
回文数,反转链表
回文数的意思是正着读和倒着读都是一样的,负数和10的倍数肯定不是回文数,顺着这个思路可以先将数进行反转如果是三位数字就将百位和各位进行交换,输入一个数,然后创建一个变量保存该输入值,一个反转后的结果逐位取余。输入的变量对10取整去掉末尾的数字。反转后的结果如果等于原来的输入值的话就认为它是一个回文数。function huiwenNumber(x) { // 负数和对10取余等于零的数肯定不是回文数 if(x < 0 || (x % 10 === 0 && x !原创 2021-07-14 14:50:51 · 131 阅读 · 0 评论 -
数据结构- 栈
数据结构的栈用处挺多的,主要就是先进后出的数据结构,这里用js来表示栈的实现: 底层是数组来实现function Stack() { this.dataStore = []; this.top = 0; this.push = push; this.add = push; this.pop = pop; this.peek = peek; this.empty = empty;}function push(element) { th原创 2020-10-11 16:44:09 · 77 阅读 · 0 评论 -
二叉树的层次遍历方式:非递归方式
首先创建一棵搜索二叉树,搜索二叉树的代码在我之前的博客已经贴出来了,这里我就不细讲了,感兴趣的小伙伴可以去翻翻之前的博客或者是网上搜索其他人写的搜索二叉树代码都是可以的,原理上差别不大应该:let bst = new BST();bst.insert(5);bst.insert(3);bst.insert(4);bst.insert(7);bst.insert(6);bst.insert(9);bst.insert(8);bst.insert(10);bst.insert(2);原创 2020-11-07 18:00:23 · 1384 阅读 · 0 评论 -
数据结构: 二叉树的遍历方式非递归方式
首先创建一个BST类表示 二叉查找树,这个是红黑树,AVL树的基础,有必要熟练掌握的let Stack = require("./Stack").stack;function TreeNode(data,left,right) { this.data = (data === undefined ? 0 : data); this.left = (left === undefined ? null : left); this.right = (right === undefi原创 2020-10-11 17:10:52 · 145 阅读 · 0 评论 -
无重复字符的最长子串
无重复字符的最长子串用到的我用到的是滑动窗口的方法:/* * @lc app=leetcode.cn id=3 lang=javascript * * [3] 无重复字符的最长子串 */// @lc code=start/** * @param {string} s * @return {number} */var lengthOfLongestSubstring = function(s) { let slen = s.length; if(slen ===原创 2021-02-17 11:30:24 · 82 阅读 · 0 评论 -
cococs creator 实现四叉树在游戏开发中的应用
废话不多说看看效果:以前以为很高深的东西,现在看来也不是很困难哈哈借鉴的四叉树github地址:https://github.com/timohausmann/quadtree-js个人感觉写的还不错首先需要有四叉树类:QT.tsexport interface Bounds { x : number, y : number, width : number, height: number}export default class QT .原创 2020-06-20 17:42:01 · 1646 阅读 · 0 评论 -
A* 算法 egret 版本
在egret论坛上看的一个人写的A*算法就拿来拜读了一下发现很不错,所以在这里分享一下A*算法在自动寻路游戏中应用的很广泛:我总结了几点要点:1:创建地图对应的二维数组模型一般TieldMap类似的软件已经讲数据到处好了创建地图对应的二维数组直接用就行里面根据需要获得障碍物对应的数值就好了2:每一个网格节点都可以封装成一个类叫:NodePoint里面有属性f,g,h对应的值,这...转载 2019-08-04 21:45:03 · 489 阅读 · 0 评论 -
js数据结构之--二叉树,二叉查找树
二叉树每个节点的子节点不允许超过两个,通过将子节点的个数限制为2,可以写出高效的程序在书中插入,查找和删除数据。在使用js构建二叉树之前,需要给我们关于树的词典里加两个新名词,一个父节点的两个子节点分别称为左节点和又节点,做节点包含一组特定的值,右节点包含一组特定的值:那么我们来实现以下二叉树(当然有很多实现的方式这里只是简单的实现而已):function TreeNode(key){ /...原创 2018-05-13 23:43:20 · 499 阅读 · 0 评论