![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaScript数据结构
Xaire
简简单单做自己该做并喜欢的事情。
展开
-
冒泡排序、插入排序、希尔排序、快速排序比较
冒泡排序O(n^2) =选择排序O(n^2)> 插入排序O(n^2)>希尔排序O(n^(3/2))>快速排序O(nlogn)详解参考https://www.jianshu.com/p/f1f2dc978762https://www.jianshu.com/p/8940e7030ff4冒泡排序:从左往右比较并交换最大值得位置,将最大值放在最右侧;循环这一操作选择排序:...原创 2019-10-31 16:08:08 · 932 阅读 · 0 评论 -
冒泡排序算法
从左向右遍历,依次比较找出最大值,最后通过交换,把最大值放置最右侧<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script> ...原创 2019-10-31 15:12:02 · 147 阅读 · 0 评论 -
树结构——javascript实现删除及其他方法
非线性结构树的术语:节点的度——节点的子树点个数树的度——树的所有节点中最大的度数任何一颗树最后都可以用二叉树(每个节点的子节点最多只有2个)模拟二叉搜索树(BST, Binary Search Tree),又称为二叉排序树或二叉找树查找效率高<!DOCTYPE html><html> <head> &l...原创 2019-10-14 18:01:06 · 1125 阅读 · 0 评论 -
数据结构与算法的理解
数据结构:计算机中,存储和组织数据的方式(满足方便放入数据和取出数据)常见的数据结构:了解真相,才能获得真正的规则!!!哈哈小码老师的金句算法(Algorithm:解决问题的办法/步骤逻辑):有限指令的集合,接受输入并产生输出,且最终结果。不依赖于语言。简单的来讲算法就是用语言写出来的解决问题的逻辑代码。举栗子!二分查找法解决100万里的高架线中出现故障的线路...原创 2019-08-22 17:30:57 · 149 阅读 · 0 评论 -
栈——后进先出(LIFO:last in first out)
栈:后进先出(LIFO:last in first out)例如:自助餐中的自取餐盘面试题目:有六个元素6 5 4 3 2 1 的顺序进栈,哪一个不是合法的出栈序列:A. 5 4 3 6 1 2 B.4 5 3 2 1 6 C.3 4 6 5 2 1 D.2 3 4 1 5 6解析:进入栈的顺序保持6 5 4 3 2 1 ,3出栈所以栈中现在是从栈底-->栈顶依次为6...原创 2019-08-24 10:48:01 · 3097 阅读 · 0 评论 -
队列(Queue——先进先出(FIFO First In First Out)
栈和队列都是一种受限的线性结构队列是数据从表的后端rear进行插入,表的前端front删除操作。应用场景:打印队列、线程队列基于数组实现的Demo<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>封装队列基...原创 2019-08-29 11:42:46 · 1726 阅读 · 0 评论 -
单向链表——JS实现链表的常见操作
链表的插入和删除操作时,时间复杂度可以达到O(1),但是访问慢只能从表头开始访问。数组的查找快,可以直接通过下标访问,但是删除和插入数据效率低。insert方法图解<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>LinkList...原创 2019-09-06 12:29:24 · 170 阅读 · 0 评论 -
双向链表的js实现
双向链表:既可以从表头开始遍历也可以从表尾开始遍历<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>双向链表</title> </head> <body> <script> //封...原创 2019-09-12 17:51:51 · 309 阅读 · 0 评论 -
集合与字典
字典:一一对一,键值对的储存方式。key:value,key不可以重复且无序,value可重复Dictionary/dict/HashMap&TreeMap集合:无序,不能重复的元素构成;常见实现方式 哈希表<!DOCTYPE html><html> <head> <meta charset="utf-8"> &...原创 2019-09-13 18:31:08 · 255 阅读 · 0 评论 -
哈希表——js实现哈希表
哈希表:基于数组,不能重复且无序将名称及单词与下标或数字对应起来1.将字母或单词转换成下标或数字(hashCode)——过程讲解:方案一:数字相加——数组下标太小方案二:幂的连乘——数组下标太多方案改进:哈希化,例如取余操作 冲突:哈希化后依然有数组下标会重复解决冲突的两种方案:1.链地址法(拉链法)2.开放地址法一:链地址法将冲突(产生冲突的元素一...原创 2019-10-13 15:56:56 · 776 阅读 · 0 评论 -
算法面试题---判断数字是否为质数
判断数字是否为质数方法一://判断传入数字是否为质数//质数特点:只能被1和它本身整除function isPrime(num){ for(var i=2;i<num; i++){ if(num % i == 0){ return false } } return true}方法二:提高了算法效率一个数n的分解的两个因子,一定会一个小于sqr...原创 2019-10-13 16:42:38 · 730 阅读 · 0 评论