博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法学习笔记
阅读量:5915 次
发布时间:2019-06-19

本文共 1555 字,大约阅读时间需要 5 分钟。

 

1.

比较容易理解的“冒泡排序”的写法:

C语言版:

JS版:


2.

快速排序:

JS版:

 

 


3.

  使用“尾插法”和“头插法”建立链表: 

    


4.

  使用头插法或者尾插法对单链表进行归并:

    

    


5.

  利用栈匹配括号的算法:

    


6.

KMP算法:


7.

  二叉树的遍历算法:

    

    


 

8. 二叉排序树BST

- 查找关键字的算法:

- 插入关键字的算法

- 二叉排序树的构造算法


 

9. 数组循环左移或右移

1 function reverse(arr, left, right) { 2     var i, j, temp; 3     for (i = left, j = right; i < j; ++i, --j) { 4         temp = arr[i]; 5         arr[i] = arr[j]; 6         arr[j] = temp; 7     } 8 } 9 10 // 数组循环左移m位11 function f1 (arr, m) {12     rear = arr.length - 1;13     reverse(arr, 0, m - 1);14     reverse(arr, m, rear);15     reverse(arr, 0, rear);16 }17 18 // 数组循环右移m位19 function f2 (arr, m) {20     rear = arr.length - 1;21     reverse(arr, 0, rear);22     reverse(arr, 0, m - 1);23     reverse(arr, m, rear);24 }

 

 

 


 

10. 

 

1 // 斐波那契数列函数 2 function fibonacci(n){ 3     if(n==1||n==2) 4         return 1; 5     return fibonacci(n-1)+fibonacci(n-2); 6 } 7  8 function fibonacci(n) { 9     if (n === 1 || n === 2)10         return 1;11      12     var a = 1, b = 1, t = 0;13     while (n > 2) {14         t = b;15         b = a + b;16         a = t;17         --n;18     }19     return b;20 }

 

 


 

11.

1 // 题目描述 2  3 // 移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回  4 // 输入例子: 5 // removeWithoutCopy([1, 2, 2, 3, 4, 2, 2], 2) 6  7 // 输出例子: 8 // [1, 3, 4] 9 10 function removeWithoutCopy(arr, item) {11     for(var i=0;i < arr.length;i++){12         if(arr[i] == item){13             arr.splice(i,1);14             i--;15         }16     }17     return arr;18 }

 

 

 

 

 

 

 

 

 

...

转载于:https://www.cnblogs.com/forzhaokang/p/4862569.html

你可能感兴趣的文章
关于阿里开发者招聘节 |这5道笔试真题 你会吗!???
查看>>
The Shared folder with you
查看>>
挖掘数据金矿 领军协同创新 曙光荣膺“2016大数据创新应用领袖企业”称号
查看>>
oschina程序开发
查看>>
《从零开始学Swift》学习笔记(Day 40)——析构函数
查看>>
SVN Hooks的介绍及使用
查看>>
axios 拦截 , 页面跳转, token 验证(自己摸索了一天搞出来的)
查看>>
如何将经纬度利用Google Map API显示C# VS2005 Sample Code
查看>>
开发人员可以提高效率的chrome插件推荐
查看>>
性能测试分享:性能测试工具开发的案例分享(下)
查看>>
linux sar命令详解
查看>>
通过Gearman实现MySQL到Redis的数据复制
查看>>
eclipse 自动为getter和setter添加注释
查看>>
我的友情链接
查看>>
DataSet
查看>>
Quartz.NET 前一次任务未执行完成时不触发下次的解决方法
查看>>
python unittest之断言及示例
查看>>
online_judge_1106
查看>>
JAVA_内部类
查看>>
jxl 导入excel
查看>>