datastruct
ccddsdsdfsdf
这个作者很懒,什么都没留下…
展开
-
10种排序
一、冒泡排序function bubbleSort(arr){ var len = arr.length; for(var i=0; i<len; i++){ for(var j=0; j<len-1-i; j++){ if(arr[j] > arr[j+1]){ // 相信元素比大小 var temp = arr[j+1]; // 元素位置交换,从小到大排列原创 2020-10-23 12:34:18 · 204 阅读 · 0 评论 -
栈实现队列
基本思路:1、创建2个栈stackIn : 放入元素stackOut: 弹出元素2、put 方法直接 push到statckIn 栈就可3、弹出元素因为队列的特点是 先进先出的, 而栈是先进后出的,所以栈先进 的元素 被压在了栈低。 所以我们需要先把 栈的元素 弹出放入 另一个stackOut栈中,这样 顺序就会反转,然后 按顺序 一直弹出 stackOut的元素即可。直到stackOut元素被 弹空,然后 再从stackIn中 弹出元素 放到stackOut栈中, 然后 再弹出……代码如下原创 2020-10-23 10:36:20 · 195 阅读 · 0 评论 -
归并排序
归并排序图给出一个数组,归并过程如下: 算法基本思想:首先是只考虑俩个数组有序,然后依次合并俩俩有序数组,直到最后合并成一个有序的数据。归并代码实现实现俩个有序数组合并成一个有序//将有序数组a[]和b[]合并到c[]中 void MemeryArray(int a[], int n, int b[], int m, int c[]) { int ...原创 2018-03-22 14:25:20 · 118 阅读 · 0 评论 -
堆与堆排序
1、二叉堆定义二叉堆是完全二叉树或者是近似完全二叉树。 二叉堆满足二个特性: 1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。 当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。2、二叉堆存储结构一般都用数组来表示堆,i...原创 2018-03-22 15:28:28 · 122 阅读 · 0 评论 -
红黑树
原文 : https://github.com/Mr-YangCheng/ForAndroidInterview/blob/master/data%20structure/%5B%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%5D%20%E7%BA%A2%E9%BB%91%E6%A0%91.mdhttps://github.com/julycoding/The-Ar...转载 2018-03-15 16:39:55 · 342 阅读 · 0 评论