数据结构
文章平均质量分 72
lavender21
人生如棋,我愿为卒,行动虽缓,可谁曾见我后退一步。
展开
-
每天一点数据结构之二叉树的插入与创建
每天一点数据结构之二叉树的插入与创建 二叉树的插入: 1.判断树是否为空,如果为空则直接插入当前结点成为根结点 2.若根不为空,则判断是否小于根 3.小于根插入左子树 4.大于根插入右子树 5.以此循环下去,插入完成退出 //二叉树的插入 BinaryTree.prototype.insert = function(data) { //在这里写入代码 var原创 2016-05-25 14:32:48 · 4574 阅读 · 0 评论 -
每天一点数据结构之二叉树非递归遍历
用js实现的二叉树非递归遍历 即使是做前端,发现自己的数据结构还是很薄弱,所以每天学习一点数据结构吧!今天学习了二叉树的非递归遍历。 一:先序遍历 主要思路:通过栈来解决,先序遍历是根左右的顺序,由根节点沿左子树一直遍历下去,在遍历过程中每遇到一个结点就将其内容输出并将该结点压入栈中。当没有左子树时就将这个结点弹出栈,并从这个结点的右子树继续向下遍历。 上代码~ fu原创 2016-05-24 10:00:54 · 436 阅读 · 0 评论 -
每天一点数据结构之二叉树的查找和删除
每天一点数据结构之二叉树的查找 一.二叉树的查找我将它分为两类,一类是满足左子树的值小于根小于右子树,那么可以根据这个特性去查找会比较高效。 从根节点开始查找,如果当前值等于根则返回,如果小于根则沿左子树继续查找,如果大于根则沿右子树继续查找,直到找到为止,否则返回null。 BinaryTree.prototype.searchBalanceTree = function (data) {原创 2016-05-26 16:24:26 · 684 阅读 · 0 评论 -
每天一点数据结构之插入排序
每天一点数据结构之插入排序 最近没有好好写博客了,接下来又有几门考试就隔几天更新一下吧~ 今天学习了插入排序,是排序中很简单的一种,效率不是很高。但比较稳定。主要思想是,遍历一遍数组,将数组集合分为R[0]~R[i]和R[i+1]~R[n]两个,前者是排好序的有序集合,后者是乱序的。每次将R[i+1]个和前面排好序的关键字依次进行比较,从而找到R[i+1]应该插入的位置j,并将R[原创 2016-06-04 18:14:07 · 307 阅读 · 0 评论 -
仅使用一个局部变量对数组进行排序
数组排序是经常被问到的一个技术问题。实现这一功能的排序算法有很多,比如冒泡,选择,快排,归并等等。我们经常被问到阐述这些算法,但很少有人这样问:如何在你的算法中仅定义一个局部变量实现数组的排序。 实际上冒泡排序可以实现这一点,传统的冒泡排序需要三个局部变量,一个i变量做索引,一个布尔变量用于判断是否继续排序,一个temp变量用于交换两个值。下面是冒泡排序的代码示例: function bubb翻译 2016-10-08 10:59:43 · 576 阅读 · 1 评论