zoukankan      html  css  js  c++  java
  • 算法学习笔记

    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 }

    ...

  • 相关阅读:
    Java http方式提交短信到短信网关
    表单提交set集合问题
    java 追加文件
    readonly和const 二者的区别
    自定义控件的实现
    sql 分页常见做法
    数据库通用连接类
    log4Net 使用
    NHibernate从入门到精通——第一个NHibernate应用程序
    自己写了一个js,但是最终不能控制住最后后的提交,前面的还是比较完美,大家看到后,能帮我解决一下吗?
  • 原文地址:https://www.cnblogs.com/forzhaokang/p/4862569.html
Copyright © 2011-2022 走看看