JS复习笔记一:冒泡排序和二叉树列

前端之家收集整理的这篇文章主要介绍了JS复习笔记一:冒泡排序和二叉树列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在这里逐步整理一些JS开发的知识,分享给大家:

一:冒泡排序

使用场景:数组中根据某个值得大小来对这个数组进行整体排序

难度:简单

原理:先进行循环,循环获取第一至倒数第二的范围内所有值,对当前值与下一循环的值进行判断,如果满足条件,直接在循环中进行替换,再重复调用方法本体

案例:

        var arr = [10,1,2,5,12,3,42,20]
        function arrleft(){
            var value='';
            for(var i=0;i<arr.length-1;i++){
                if(arr[i] < arr[i+1]){
                    value = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = value;
                    return arrleft();
                }
            }
            console.log(arr);
        }
        arrleft();

  

二:二叉树列

使用场景:在规格固定的json中找到对应值

难度:困难

原理:通过多重解析调用的方式,获取json的所有子级

案例:

数据模板

        var json = {
            id:0,value:'0',left:{
                id:1,value:'a',left:{
                    id:2,value:'b',left:{
                        id:3,value:'c',},right:{
                        id:4,value:'d',left:{
                            id:5,value:'e'
                        }
                    }
                },right:{
                    id:6,value:'f',right:{
                        id:7,value:'g'
                    }
                }
            },right:{
                id:8,value:'h',left:{
                    id:9,value:'I',right:{
                        id:10,value:'J',left:{
                            id:11,value:'K'
                        }
                    }
                },right:{
                    id:11,value:'L'
                }
            }
        }

  

方法

        var i=0;
        function jsonFun(json,name){
            i++;
            if(json.id == name){
                console.log(json);
            }else{
                console.log(json.value);//前序遍历 
                if(json.left){
                    jsonFun(json.left,name)
                }
                console.log(json.value);//中序遍历
                if(json.right){
                    jsonFun(json.right,name)
                }
                console.log(json.value);//后序遍历
            }
        }
        jsonFun(json,1);
        console.log(i);//循环次数

  

猜你在找的程序笔记相关文章