算法总结

排序
     稳定的排序
         冒泡排序(bubble sort)— O(n2)
             (无序区,有序区)。
             從无序区透過交換找出最大元素放到有序区前端。
         插入排序(insertion sort)—O(n2)
             (有序区,无序区)。
             把无序区的第一个元素插入到有序区的合适的位置。对数组:比较得少,换得多。
     不稳定的排序
         快速排序(quick sort)—O(n log n)期望時間,O(n2)最壞情況;對於大的、亂數串列一般相信是最快的已知排序
                  (小数,枢纽元,大数)。
         选择排序(selection sort)—O(n2)
               (有序区,无序区)。
             在无序区里找一个最小的元素跟在有序区的后面。对数组:比较得多,换得少。
     不实用的排序
递归
     写递归函数有三步:
         ①写出迭代公式;
         ②确定递归终止条件;
         ③将①②翻译成代码。
     斐波那契数列
         从文字上说,费波那西数列由0和1开始,之后的费波那西系数就由之前的两数相加,数列形式如下:
         0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,………………
     阶乘
     全排列
队列
    

    
二叉树(用递归的思想去看)
     先序遍历:根节点->左子树->右子树
     中序遍历:左子树->根节点->右子树
     后序遍历:左子树->右子树->根节点



时间复杂度
    
     公式
         1+2+3+...+n)=n(n+1)/2
        
不使用中间变量交换两个数(时间换空间,空间换时间的典型案例,迭代和递归也是这种案例)
     public static void swap1(Num num)
     {
        num.a = num.a + num.b;
        num.b = num.a - num.b;
        num.a = num.a - num.b;
     }





















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值