涓涓细流 辟阖汪洋
用shell教你搞定各种查找算法-二分查找 用shell教你搞定各种查找算法-二分查找
local low=0; local high="${#nums[@]}" local mid=$(((low+high)/2)) local target=100; while [[ $low -le $high ]];do let...
用shell教你搞定各种排序算法-归并排序 用shell教你搞定各种排序算法-归并排序
归并排序采用的是分治的思想。归就是归纳,并就是合并。 function sort(){ local low=$1 local high=$2
用shell教你搞定各种排序算法-插入排序 用shell教你搞定各种排序算法-插入排序
插入排序的核心也是交换,注意和冒泡排序一样,都是相邻交换 我们执行以下看一下输出结果 当然我们还可以简化 bash 定义一个数组 nums=(1 3 5 7 2 3 6 8 22 11 33 22 11 1 34 56)
用shell教你搞定各种排序算法-希尔排序 用shell教你搞定各种排序算法-希尔排序
希尔排序的核心也是交换,是在插入排序的基础上演进的,目的是期望快速消除更多的逆序对儿。 我们执行以下看一下输出结果
用shell教你搞定各种排序算法-快速排序 用shell教你搞定各种排序算法-快速排序
排序算法中,没有一种算法在任意一种情况下都是最好的。我们总是能构造出一种最坏的情况。快速排序并不总是最快的。 快速排序是由东尼·霍尔提出的一种高效的排序算法,简称快排。它的算法思想并不复杂,可以用3个步骤6个字来概括:选基、分割、递归。
用shell教你搞定各种排序算法-冒泡排序 用shell教你搞定各种排序算法-冒泡排序
最近在研究数据结构和算法,突然想用shell来实现一把,今天先来写一个冒泡排序。 要想记住各种排序算法,只要知道其原理,用什么语言实现都易如反掌 冒泡排序 核心操作 交换相邻两个元素的值