随笔分类 -  算法与数据结构

上一页 1 ··· 3 4 5 6 7

快速排序
摘要:快速排序 对于n个数的输入数组来说,快速排序是一种最坏情况时间复杂度为O(n2)的排序算法,虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序中最好的选择,因为它的平均性能非常好:它的期望时间复杂度是O(nlgn),而且O(nlgn)中隐含的常数因子非常小。 1、快速排序的描述 快速排序算法采用 阅读全文

posted @ 2018-02-23 14:29 AlanTu 阅读(287) 评论(0) 推荐(0) 编辑

优先队列
摘要:1、概述 队列是一种满足先进先出(FIFO)的数据结构,数据从队列头部取出,新的数据从队列尾部插入,数据之间是平等的,不存在优先级的。这个就类似于普通老百姓到火车站排队买票,先来的先买票,每个人之间是平等的,不存在优先的权利,整个过程是固定不变的。而优先级队列可以理解为在队列的基础上给每个数据赋一个 阅读全文

posted @ 2018-02-23 14:27 AlanTu 阅读(401) 评论(0) 推荐(0) 编辑

堆排序
摘要:一 堆 堆给人的感觉是一个二叉树,但是其本质是一种数组对象,因为对堆进行操作的时候将堆视为一颗完全二叉树,树中每个节点与数组中的存放该节点值的那个元素对应。所以堆又称为二叉堆,堆与完全二叉树的对应关系如下图所示: 二叉堆可以分为两种形式:最大堆和最小堆。在这两种堆中,结点的值都要满足堆的性质。 在最 阅读全文

posted @ 2018-02-23 14:26 AlanTu 阅读(195) 评论(0) 推荐(0) 编辑

树、二叉树基础
摘要:刚看到堆排序,顺便记录一下关于树的一些基本概念: 前言 前面介绍的栈、队列都是线性结构(linear structure)。而树是非线性结构(non-linear structure)。因此,树中的元素之间一般不存在类似于线性结构的一对一的关系,更多地表现为多对多的关系。直观地看,它是数据元素(在树 阅读全文

posted @ 2018-02-23 14:24 AlanTu 阅读(335) 评论(0) 推荐(0) 编辑

分治法
摘要:最大子数组问题 方法一:暴力求解方法 我们可以很容易地设计出一个暴力方法来求解本问题:简单地尝试没对可能的子数组,共有O(n2)种 #include<iostream> using namespace std; #define INT_MIN 0x80000000 int main() { int 阅读全文

posted @ 2018-02-23 14:15 AlanTu 阅读(2065) 评论(0) 推荐(0) 编辑

递归算法详细分析
摘要:递归的理解与设计 递归算法:是一种直接或者间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。 1,参考于书籍中的讲解: 递归的原理,其实就是一个栈(stack), 比如求5的阶乘,要知道5的阶乘,就要知道4的阶乘,4又要是到3的,以此 阅读全文

posted @ 2018-02-23 14:13 AlanTu 阅读(7053) 评论(0) 推荐(1) 编辑

算法基础
摘要:2.1 插入排序 C++实现: #include<iostream> using namespace std; void InsertSort(int arr[],int n) { int i,j,key; for(i=1;i<n;++i) { key=arr[i]; j=i-1; while(j> 阅读全文

posted @ 2018-02-23 14:10 AlanTu 阅读(452) 评论(0) 推荐(0) 编辑

优先队列的实现
摘要:实现优先队列结构主要是通过堆完成,主要有:二叉堆、d堆、左式堆、斜堆、二项堆、斐波那契堆、pairing 堆等。 1. 二叉堆 1.1. 定义 完全二叉树,根最小。 存储时使用层序。 1.2. 操作 (1). insert(上滤) 插入末尾 26,不断向上比较,大于26则交换位置,小于则停止。 (2 阅读全文

posted @ 2018-02-23 10:48 AlanTu 阅读(2433) 评论(0) 推荐(0) 编辑

一些重要的算法 - 索引
摘要:下面是一些比较重要的算法,原文罗 列了32个,但我觉得有很多是数论里的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解 一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维 阅读全文

posted @ 2018-02-13 11:33 AlanTu 阅读(365) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7

导航