![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
疾风知劲草~
这个作者很懒,什么都没留下…
展开
-
哈希表的封装
//封装哈希表function hashTable(){ // 属性 this.storage = [] this.count = 0 this.limit = 7 // 设计哈希函数 // 将字符串转换成比较大的数字:hashCode // 将大的数字hashCode压缩到数组范围(大小)之内 hashTable.prototype.hashFunc = function(str,size){ let hashCode =原创 2021-03-23 09:37:35 · 115 阅读 · 0 评论 -
集合的封装(交集,并集,子集,差集)
function Set(){ this.items = {} //has方法 Set.prototype.has = function(value){ return this.items.hasOwnProperty(value) } //add方法 Set.prototype.add = function(value){ //value 如果存在 如果不存在 if(this.has(value)){原创 2021-03-21 22:50:06 · 321 阅读 · 0 评论 -
双向链表的封装
function DoublyLinkedList(){ function Node(data){ this.data = data this.prev = null this.next = null } this.head = null this.tail = null this.length = 0 //append方法 DoublyLinkedList.prototype.append = func原创 2021-03-21 15:59:57 · 123 阅读 · 0 评论 -
单向链表的封装
function LinkedList(){ //内部的类:节点类 function Node(data) { this.data = data this.next = null } this.head = null this.length = 0 //append方法 LinkedList.prototype.append = function (data) { //创建一个新节点 //原创 2021-03-20 16:50:07 · 112 阅读 · 0 评论 -
归并排序
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。再来看看治阶段,我们需要将两个已经有序的子序列合并成一个有序序列,比如上图中的最后一次合并,要将[4,5,7,8]和[1,2,3,6]两个已经有序的子序列,合并为最终序列[1,2,3,4,5,6,7,8],来看下实现步骤。归并排序是稳原创 2021-03-18 09:13:41 · 64 阅读 · 0 评论 -
二叉树的删除操作
//封装二叉搜索树function BinarySearchTree() { function Node(key) { this.key=key this.left=null this.right=null } //根节点属性 this.root=null //insert方法 向外暴露给用户使用 BinarySearchTree.prototype.insert=function (key) {原创 2021-03-14 23:09:09 · 197 阅读 · 0 评论 -
二叉树的后序遍历
//封装二叉搜索树function BinarySearchTree() { function Node(key) { this.key=key this.left=null this.right=null } //根节点属性 this.root=null //insert方法 向外暴露给用户使用 BinarySearchTree.prototype.insert=function (key) {原创 2021-03-14 20:18:06 · 86 阅读 · 0 评论 -
二叉树的最大值、最小值以及固定值的搜索
//封装二叉搜索树function BinarySearchTree() { function Node(key) { this.key=key this.left=null this.right=null } //根节点属性 this.root=null //insert方法 向外暴露给用户使用 BinarySearchTree.prototype.insert=function (key) {原创 2021-03-14 20:09:08 · 1009 阅读 · 0 评论 -
二叉树中序遍历
//封装二叉搜索树function BinarySearchTree() { function Node(key) { this.key=key this.left=null this.right=null } //根节点属性 this.root=null //insert方法 向外暴露给用户使用 BinarySearchTree.prototype.insert=function (key) {原创 2021-03-14 18:01:20 · 59 阅读 · 0 评论 -
二叉树前序遍历
//封装二叉搜索树function BinarySearchTree() { function Node(key) { this.key=key this.left=null this.right=null } //根节点属性 this.root=null //insert方法 向外暴露给用户使用 BinarySearchTree.prototype.insert=function (key) {原创 2021-03-14 17:41:33 · 68 阅读 · 0 评论 -
二叉搜索树(insert方法)
//封装二叉搜索树function BinarySearchTree() { function Node(key) { this.key=key this.left=null this.right=null } //根节点属性 this.root=null //insert方法 向外暴露给用户使用 BinarySearchTree.prototype.insert=function (key) {原创 2021-03-14 17:05:21 · 304 阅读 · 0 评论