博客专栏  >  综合   >  算法学习之路

算法学习之路

数据结构、基础算法、设计与分析

关注
1 已关注
20篇博文
  • 随机数不是事!^~^

    随机数的事 总结随机数的那点事,不断总结中...... 1.产生一个随机数 srand(time(0)); x=rand();//0~RAND_MAX-1 2.生成一个[a,...

    2014-06-05 19:34
    840
  • 全排列(递归与非递归实现)

    全排列问题在公司笔试的时候很常见,这里介绍其递归与非递归实现。 递归算法 1、算法简述 简单地说:就是第一个数分别以后面的数进行交换 E.g:E = (a , b , c),则 prem(E)=...

    2014-06-05 12:25
    1153
  • 质数与合数及其应用

    质数与合数 摘自维基百科: 质数,又称素数,指在大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。 比1大但不是素数的数称为合数。1和0既非...

    2014-06-04 10:25
    1027
  • 图的深度优先遍历--邻接表实现

    这里用邻接表实现图的深度优先遍历,采用递归实现。 #include using namespace std; #define VERTEXNUM 5//结点数 struct edgenode {...

    2014-05-11 00:55
    1357
  • 最长递增子序列

    问题描述 找出一个数组中的最长递增子序列LIS(不一定连续,但顺序不能乱),如数组arr={5, 6, 7, 1, 2, 8},其最长递增子序列 为{5,6,7,8},长度为4。 四种解法 直接法...

    2014-05-07 23:32
    1249
  • 拓扑排序

    一、概述   对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若 ∈E(G),则u在线性序列中...

    2014-04-23 15:41
    1013
  • 红黑树原理

    一、红黑树概述      红黑树和我们以前学过的AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。不过自从红黑树出来后,AVL树就被放到了博物馆里,据说...

    2014-04-10 10:16
    1179
  • 字典树及其应用

    字典树定义 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点...

    2014-04-18 11:44
    1081
  • 二叉树遍历--非递归实现

    二叉树遍历算法的重要性大家都知道,是很多算法的基础,它的递归实现非常简单,相信学过数据结构的同学都应该能够轻松写出来。如果需要写出二叉树的前序遍历、中序遍历以及后续遍历的非递归实现,可能还是需要费点时...

    2014-04-17 16:29
    614
  • 外部排序

    一、问题的提出  1.待排序的记录数量很大,不能一次装入内存,则无法利用前几节讨论的排序方法(否则将    引起频繁访问内存);  2.对外存中数据的读/写是以“数据块”为单位进行的;   读...

    2014-04-17 11:25
    717
  • 按块读取大文件

    大文件,如4G大小,不能像普通文件那样一次读入内存中,因此需要按块读取文件,然后进行处理。典型用例,如在外部排序中,需要对大文件进行按块读取。 C实现按块读取 FILE *fp; fp=fopen...

    2014-04-17 11:04
    1630
  • 经典排序之多路归并

    多路归并排序

    2014-04-16 21:26
    3268
  • 经典排序之分配排序

    一、基数排序

    2014-04-12 23:49
    787
  • 经典排序算法之归并排序

    二路归并与多路归并算法详解 一、二路归并 原理,把原始数组分成若干子数组,对每一个子数组进行排序, 继续把子数组与子数组合并,合并后仍然有序,直到全部合并完,形成有序的数组 举例 无序数组[...

    2014-04-10 23:17
    1019
  • 经典排序之插入排序

    插入排序 插入排序包括:直接插入排序,折半插入排序,希尔排序。 1.直接插入排序 思想: 直接插入排序(Straight Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个...

    2014-04-10 20:51
    947
  • 经典内部排序之选择排序

    一、选择排序

    2014-04-10 20:17
    873
  • 经典内部排序之交换排序

    经典内部排序算法有交换排序、插入排序、

    2014-04-10 11:52
    964
  • 平衡二叉树——AVL树的原理和实现

    在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能...

    2014-04-09 16:27
    859
  • 二叉排序树的建立、插入、删除、查找、4种遍历 C++完整实现

    #include #include #include using namespace std; typedef int KeyType; #define NUM 13 class BinSTree;...

    2014-04-01 15:25
    1922
  • 求数组的子数组之和的最大值

    一个有N个整数元素的一维数组(A[0],A[1],...,A[n-2],A[n-1]),这个数组当然有很多子数组,那么子数组之和的最大值是什么呢? 下面将给出3种解法的代码: 解法一: int Max...

    2014-03-29 10:06
    2646

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部