算法导论学习总结
Full_Speed_Turbo
从现在开始, 从零开始.
展开
-
算法导论 第10章 基本数据结构
一、栈(stack):后进先出(last-in, first-out,LIFO)。二、队列(queue):先进先出(first-in, first out)。三、双端队列:两头都可以进行insert 和delete。四、链表(list):节点线性排序,以指针相连。分为单向链表和双向链表。可以添加表头节点和设置循环链表。五、链表的多数组表示:三个等长数组:next, key, pre转载 2013-11-16 09:53:47 · 1049 阅读 · 0 评论 -
算法导论 第12章 二叉搜索树 C++实现
chapter12.h#ifndef CHAPTER12_H#define CHAPTER12_H#include#include#include//binary search tree node//供二叉搜索树使用的节点类class bstree;class node{public: node(int k,node* p=NULL,node* l=NULL,node* r原创 2014-05-31 16:27:39 · 1006 阅读 · 0 评论 -
算法导论 第9章 中位数和顺序统计量 C++实现
chapter9.h#ifndef CHPATER9_H#define CHAPTER9_H// clrs chapter 9--medians and order statistics// by full_speed_turbo// 20140524#include#include#include// 9.2int random_partition(std::vector原创 2014-05-26 10:00:22 · 856 阅读 · 0 评论 -
算法导论 第8章 线性时间排序 C++实现
#ifndef CHAPTER8_H#define CHAPTER8_H//CLRS chapter 8- sorting in linear time//by full_speed_turbo// 20140521#include#include#includevoid counting_sort(std::vector& a, std::vector& b,int原创 2014-05-26 09:41:53 · 716 阅读 · 0 评论 -
算法导论 第15章 动态规划 例程C++实现
chapter15.h#ifndef CHAPTER15_H#define CHAPTER15_H//CLRS chapter 15 dynamic programming//full_speed_turbo//20140603#include#include#include//#include //#include //using namespace boost::num原创 2014-06-08 19:53:08 · 967 阅读 · 0 评论 -
算法导论 第23章 广度优先搜索 深度优先搜索 拓扑排序 强连通分量 C++实现
自定义的矩阵类://自定义的矩阵类#ifndef MATRIX_H#define MATRIX_Htemplateclass matrix{public: matrix(){} matrix(int i,int j); matrix(std::vector& element_vector,int s1,int s2); matrix(const matrix& rhs);原创 2014-06-25 10:23:46 · 1374 阅读 · 0 评论 -
算法导论 第7章 快速排序 学习总结
醍醐灌顶,热泪盈眶,喜大普奔,好书啊好书!感谢CLKS !一、快速排序的产生背景:归并排序和堆排序都有很好的运行性能,但是都不是原址排序的;插入排序是原址排序,但是运行时间复杂度为Θ(n^2)。二、快速排序的基本思想:快速排序的基本思想和归并排序很相似,都是采用的分治思想——选主元(pivot),将数组递归分解为两个数组,一个数组中的元素都小于主元,另一个数组元素都大于主元。最原创 2013-11-09 11:12:52 · 2034 阅读 · 1 评论 -
算法导论 第六章 堆排序
chapter6.h#ifndef CHAPTER6_H#define CHAPTER6_H//CLRS chapter 6 //heapsort// by full_speed_turbo// 20140519#include#include#includeconst int NEG_INF=-1000;class max_heap{public: max_heap(原创 2014-05-20 08:21:30 · 710 阅读 · 0 评论 -
算法导论 第4章 源程序 分治策略 最大子数组 Strassen算法
chapter4.h#ifndef CHAPTER4_H#define CHAPTER4_H#include#includeconst int NEGTIVE_INFINITE=-1000000;struct max_array { max_array(int left,int right,int sum): max_left(left), max_right(right原创 2014-05-20 08:18:37 · 932 阅读 · 0 评论 -
算法导论 第16章 贪心算法-活动选择问题C++实现
参考:[1]Anker—学习成长笔记《算法导论》读书笔记之第16章 贪心算法—活动选择问题#include #include #include #include #define N 11//define 后面不能有分号using namespace std;//迭代式的贪心算法void greedy_activity_selector(int* s,int* f,vector&原创 2013-12-12 09:07:11 · 1774 阅读 · 0 评论 -
算法导论 第13章 红黑树 C++源代码
参考了[1]CLRS的《算法导论》3rd.和[2]July、saturnman的 红黑树的C++完整实现源码//FILE:RBTREE.H//BY FULL_SPEED_TURBO//2013-12-10#include #include enum RB_color{RED,BLACK};//using namespace std;struct node { int原创 2013-12-10 14:35:38 · 1186 阅读 · 0 评论 -
算法导论 第8章 线性时间排序-计数排序的原址排序
//FILE:LINEAR_SORT.CPP//实现CLRS第8章计数排序//实现计数排序的原址排序#include #include using namespace std;//实现CLRS第8章计数排序void counting_sort(const vector& a,vector& b,const int k){ if(a.size()!=b.size()) cou原创 2013-11-25 19:23:51 · 1279 阅读 · 2 评论 -
算法导论 第15章 动态规划 习题C++实现
chapter15_exercise.h#ifndef CHAPTER15_EXERCISE_H#define CHAPTER15_EXERCISE_H//the excercise of chapter 15#include#include#include#includeconst int POS_INFI=1000;const int NEG_INFI=-1000;/*c原创 2014-06-20 08:41:47 · 1097 阅读 · 0 评论