算法
anteoy
Full Stack Developer
展开
-
算法之时间复杂度简析
算法之时间复杂度简析前言 最近准备对算法进行一些系统的总结和学习,不积跬步无以至千里,不积小流无以成江海.此文主要对时间复杂度进行简单梳理和个人总结,本人才疏学浅,有所疏漏在所难免,如有不当和错误之处,欢迎指正时间复杂度的定义(Time Complexity) 时间复杂度,用简单地话描述为:为了大概估算程序运算时间的一种概量。那用什么来估算的呢?用简单的程序执行代码的次数,如int a原创 2017-03-27 20:40:48 · 1076 阅读 · 0 评论 -
经典问题--最大子序列和的个人简单整理
前言 最近回溯算法,对以往算法和新学习算法进行一个系统的整理和学习,本文的最大子序列和的问题在很多算法书籍和技术文章中对此都有详述,个人简单整理仅为了再次消化和日后查阅,不喜误喷。个人理解,如有错误,欢迎指正。注:本文中提及的时间复杂度均使用大O法。问题描述 求-2,4,-1,5,6的最大子序列和 注:如果所有值都为负,则最大子序列和为0 方案一思路:使用穷举的方式,使用for循环原创 2017-03-29 13:16:27 · 604 阅读 · 0 评论 -
折半查找算法
运行时间中的对数 前一篇文章中分治递归的时间复杂度为O(nlogn);对数最常出现的规律可概括为如下一般规律:如果一个算法用常数时间O(1)将问题的大小削减为其的一部分(通常是二分之一),那么该算法就是O(logn).另一方面,如果一个算法用常数时间O(1)将问题的大小消减一个常数数量(如将问题减少1等等),那么这种sauna就是O(n)的。折半查找简单引论问题 求x在数组T[]中的坐标原创 2017-03-29 15:25:16 · 1022 阅读 · 0 评论 -
常用排序算法原理简析
前言 本文只作一些概念性说明,后续会整理每种排序算法的具体实现。个人知识和能力有限,搜集整理和理解可能不到位,如有错误,欢迎指正插入排序原理 跑n-1趟,对于p=1到N-1趟,插入排序保证从位置0到位置p(数组也是从0开始计算)的数据是有序的,从后面每次拿一个数组往前面插,找到有序的位置(如此时51为被插入数,则在34到64之间)。需要使用两次for循环,时间复杂度为O(n^2)希尔排序原理原创 2017-03-29 21:06:31 · 542 阅读 · 0 评论 -
红黑树(一)之 原理和算法详细介绍
原文作者:Sky Wang 于 2013-08-08 概述:R-B Tree,又称为“红黑树”。本文参考了《算法导论》中红黑树相关知识,加之自己的理解,然后以图文的形式对红黑树进行说明。本文的主要内容包括:红黑树的特性,红黑树的时间复杂度和它的证明,红黑树的左旋、右旋、插入、删除等操作。请尊重版权,转载注明出处:http://www.cnblogs.com/skywang12345转载 2017-07-26 22:08:20 · 509 阅读 · 0 评论