算法导论
影子传说~
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
期望为线性时间的选择算法(golang实现)
介绍一种解决选择问题的分治算法。randonmizedSelect算法以随机版快排为模型。与快排的区别为: 快排会递归处理划分的两边,而此算法只处理划分的一边。 快排期望运行时间为O(nlgn),此算法的期望运行时间为O(n)。这里假设输入数据都是互异的。 此算法返回数组A[p..r]中第i小的元素。 package main import ( "math/rand" "time" ) func partition(arr []int, p, r int) int { x := arr原创 2021-03-21 20:33:14 · 243 阅读 · 0 评论 -
计数排序golang实现
package main import ( "fmt" "math" ) func countingSort(arr []int, k int) []int { resArr := make([]int, len(arr)) tempArr := make([]int, k+1) for j := 0; j<len(arr); j++ { tempArr[arr[j]] += 1 } for i := 1; i<=k; i++ { tempArr[i] += t.原创 2021-03-18 21:25:52 · 258 阅读 · 0 评论 -
快排--golang实现
package main import "fmt" func qSort(arr []int, p, r int) { if p < r { q := partition(arr, p, r) qSort(arr, p, q-1) qSort(arr, q+1, r) } } func partition(arr []int, p, r int) int { x := arr[r] i := p-1 for j := p; j < r; j++ { if arr.原创 2021-03-16 20:43:19 · 383 阅读 · 0 评论 -
堆排序golang实现
package main import "fmt" // 堆排序 //算法导论chapter 6 func left(i int) int { return 2*i } func right(i int) int { return 2*i+1 } // 维护最大堆性质 func maxHeapify(arr []int, i int, heapSize int) { l := left(i) r := right(i) var largest int if l < heapSi.原创 2021-03-16 19:38:20 · 123 阅读 · 0 评论 -
最大子数组问题的golang实现
//最大子数组问题 分治 //算法导论 page: 67 [the third edition] package main import ( "math" ) func find_max_cross_subArray(arr []int, low, mid, high int) (int, int, int){ left_sum := (-1) * math.MaxInt8 sum := 0 max_left := 0 for i := mid; i >= low; i-- { .原创 2021-03-13 21:24:23 · 174 阅读 · 0 评论 -
归并排序golang实现
package main import "fmt" func mergeSort(arr []int, start, end int) { if start >= end { return } middle := (start + end) / 2 mergeSort(arr, start, middle) mergeSort(arr, middle+1, end) merge(arr, start, middle, end) } func merge(arr []int, .原创 2021-03-12 20:50:08 · 180 阅读 · 0 评论 -
插入排序——golang实现
//目前计划把算法导论上相关的算法自己用golang实现一下。 // 路漫漫其修远兮,吾将上下而求索。 package main func insertion_sort(nums []int) { n := len(nums) for j := 1; j<n; j++ { key := nums[j] i := j-1; for i >= 0 && nums[i]>key { .原创 2021-03-11 20:28:25 · 105 阅读 · 0 评论
分享