[toc]
## 概念
算法的特性:`輸入`、`輸出`、`有窮性`、`確定性`、`可行性`
算法設計的特性:`正確性`、`可讀性`、`健壯性`、`時間效率高`、`存儲量低`
## [冒泡排序](./算法、冒泡排序.md)
## 快速排序
選擇一個基準元素,通常選擇第一個元素或者最后一個元素。通過一趟掃描,將待排序列分成兩部分,一部分比基準元素小,一部分大于等于基準元素。此時基準元素在其排好序后的正確位置,然后再用同樣的方法遞歸地排序劃分的兩部分
~~~
function quickSort(array $arr):array {
$len = count($arr);
if ($len < 2) {
return $arr;
}
$base = $arr[0];
$left = $right = [];
//跳過基準數
for ($i = 1; $i < $len; $i++) {
if ($base < $arr[$i]) {
$left[] = $arr[$i];
} else {
$right[] = $arr[$i];
}
}
$left = quickSort($left);
$right = quickSort($right);
return array_merge($left, [$base], $right);
}
$arr=[1,6,5,7,8,9,3,2,4];
$result = quickSort($arr);
~~~
## [插入排序](./算法/insertSort.md)
- php
- 安全
- php7
- 特性
- 編譯安裝
- 源碼整體框架
- 基本變量
- thinkphp3.2.3
- thinkphp5.0
- thinkphp6.0
- laravel
- 配置
- 路由
- artisan控制臺
- eloquent
- tinker
- composer
- 加密解密
- 小知識點
- 數組
- string
- 代碼簡潔之道
- 編譯
- 語法糖
- lumen
- smarty
- 錯題集
- 算法及數據結構
- 線性表結構
- 插入排序
- 冒泡排序
- 數據庫
- mysql
- oracle
- PostgreSQL
- redis
- sqlserver
- 前端
- 備忘
- js
- nodejs
- vue
- css
- electron
- vue
- 語法糖
- colorui使用筆記
- 微信小程序
- 操作系統
- windows
- bat
- 快捷鍵
- linux
- sed
- 問題解決
- git
- docker
- docker-compose
- 正則表達式
- ps
- lua
- 協議相關
- 問題思索
- Golang
- 測試
- 讀取和寫入json配置文件
- 類
- 接口
- mod
- gin
- fyne
- 禪道二次開發
- 服務
- apache
- 漏洞配置
- http server優化
- nginx
- 安裝
- 面試題庫
- freeswitch