Go语言
洪城浪子
洪城浪子风中客,诗酒醉颜曲临江
展开
-
最大子数组问题
最大子数组问题 问题描述: 寻找数组A[1…n]和最大的非空连续子数组。 条件: 数组中必须含有负数,不然将毫无意义,因为最大子数组将就是数组A本身。 思想:分治思想。 假设我们要求A的子数组A[low, high]的最大子数组。根据分治策略,我们先将A[low,high] 平分 那么 A[low,highj]的子数组A[i,j]只有三种可能 a: 完全位于A[low, mid]; 此时 l...原创 2020-04-19 16:46:50 · 385 阅读 · 1 评论 -
Go语言之简单算法的实现——归并排序算法
Go语言之简单算法的实现——归并排序算法 文章目录**Go语言之简单算法的实现——归并排序算法**1.1 归并排序升序算法 1.1 归并排序升序算法 /** * @title merge * @description 归并算法, 将两个已经有序的子序列归并为一个有序的序列 * 空间复杂度: O(2n) * 时间复杂度: O(n) * @auth: ncuwen * @param: le...原创 2020-04-12 15:35:05 · 276 阅读 · 0 评论 -
Go语言之简单算法的实现——查找算法
Go语言之简单算法的实现——查找算法 文章目录Go语言之简单算法的实现——查找算法1. 二分查找算法1.1 二分查找算法: 在指定切片(有序)中查找第一个大于给定值的元素索引1.2 二分查找算法: 在指定切片(有序)中查找等于给定值的元素索引 1. 二分查找算法 1.1 二分查找算法: 在指定切片(有序)中查找第一个大于给定值的元素索引 递归实现 /** * 二分查找算法: 在指定切片(有序...原创 2019-10-10 10:51:23 · 650 阅读 · 0 评论 -
Go语言之简单算法的实现——插入排序算法
Go语言之简单算法的实现——插入排序算法 文章目录Go语言之简单算法的实现——插入排序算法1、直接插入排序算法1.1 直接插入排序升序算法(以空间节省时间)1.2 直接插入排序升序算法(以时间节省空间) 1、直接插入排序算法 1.1 直接插入排序升序算法(以空间节省时间) 普通查找方式 /** * 直接插入排序升序算法(以空间节省时间) * 优点: 实现简单,新建切片存储排序后结果,能节省...原创 2019-10-10 10:52:48 · 276 阅读 · 0 评论 -
Go语言之简单算法的实现——冒泡排序算法
Go语言之简单算法的实现——冒泡排序算法 文章目录Go语言之简单算法的实现——冒泡排序算法1.1 冒泡排序升序算法 1.1 冒泡排序升序算法 /** * 冒泡排序升序算法 * 优点:简单易懂, 传入切片,利用引用传值,开销较小 * 缺点:时间复杂度高,数组大时,时间开销大 * 空间复杂度: O(n) * 时间复杂度:O(n^2) * Author:ncuwen */ func Bub...原创 2019-10-10 10:55:44 · 215 阅读 · 0 评论