mirror of
https://github.com/krahets/hello-algo.git
synced 2025-08-02 11:33:18 +08:00
Bug fixes and improvements. (#1780)
* Fix the "尾递归优化" to "递归深度优化" in quick_sort. * Update landing pages. * Sync zh and zh-hant versions. * Sync zh and zh-hant versions.
This commit is contained in:
@ -10,7 +10,7 @@ type quickSort struct{}
|
||||
// 快速排序(中位基准数优化)
|
||||
type quickSortMedian struct{}
|
||||
|
||||
// 快速排序(尾递归优化)
|
||||
// 快速排序(递归深度优化)
|
||||
type quickSortTailCall struct{}
|
||||
|
||||
/* 哨兵划分 */
|
||||
@ -112,7 +112,7 @@ func (q *quickSortTailCall) partition(nums []int, left, right int) int {
|
||||
return i // 返回基准数的索引
|
||||
}
|
||||
|
||||
/* 快速排序(尾递归优化)*/
|
||||
/* 快速排序(递归深度优化)*/
|
||||
func (q *quickSortTailCall) quickSort(nums []int, left, right int) {
|
||||
// 子数组长度为 1 时终止
|
||||
for left < right {
|
||||
|
@ -25,10 +25,10 @@ func TestQuickSortMedian(t *testing.T) {
|
||||
fmt.Println("快速排序(中位基准数优化)完成后 nums = ", nums)
|
||||
}
|
||||
|
||||
// 快速排序(尾递归优化)
|
||||
// 快速排序(递归深度优化)
|
||||
func TestQuickSortTailCall(t *testing.T) {
|
||||
q := quickSortTailCall{}
|
||||
nums := []int{4, 1, 3, 1, 5, 2}
|
||||
q.quickSort(nums, 0, len(nums)-1)
|
||||
fmt.Println("快速排序(尾递归优化)完成后 nums = ", nums)
|
||||
fmt.Println("快速排序(递归深度优化)完成后 nums = ", nums)
|
||||
}
|
||||
|
Reference in New Issue
Block a user