算法
文章平均质量分 79
zhengqijun_
You can do it! No can no BB!
展开
-
十大算法解析
一、什么是算法?算法就是任何明确定义的计算过程,它接收一些值或集合作为输入,并产生一些值或集合作为输出。这样,算法就是将输入转换为输出的一系列计算过程。——Thomas H. Cormen, Chales E. Leiserson (2009) 《算法导论第三版》二、有效的算法应该含有三个重要特性:1. 算法必须是有限的。如果你设计的算法永无休止地尝试解决问题,那么它是无用原创 2016-09-24 23:40:51 · 8607 阅读 · 0 评论 -
单链表实现冒泡排序算法
下面实现主要采用交换指针的方法,其中附加有单链表及其相关的实现[cpp] view plain copy#include struct Node; typedef struct Node *PtrToNode; typedef PtrToNode List; typedef PtrToNode Positio原创 2016-10-15 19:54:29 · 9632 阅读 · 3 评论 -
矩阵乘法的算法实现 [转载]
一般矩阵乘法算法:原理:矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的栏数(column)和第二个矩阵的列数(row)相同时才有定义。一般单指矩阵乘积时,指的便是一般矩阵乘积。若A为m×n矩阵,B为n×p矩阵,则他们的乘积AB会是一个m×p矩阵。其乘积矩阵的元素如下面式子得出:代码如下:struct mat{ int n, m; doubl原创 2016-11-26 23:04:55 · 24100 阅读 · 0 评论 -
7种排序算法的介绍(常用)
一、快速排序1. 简单介绍 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间原创 2016-11-05 19:47:17 · 806 阅读 · 0 评论 -
用C语言实现快速排序算法
一、快速排序算法(Quicksort)1. 定义快速排序由C. A. R. Hoare在1962年提出。快速排序是对冒泡排序的一种改进,采用了一种分治的策略。2. 基本思想通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。3....原创 2016-11-04 22:33:13 · 205350 阅读 · 50 评论 -
[Data Structure & Algorithm] 八大排序算法
阅读目录1. 直接插入排序(Straight Insertion Sort)2. 希尔排序(Shells Sort)3. 直接选择排序(Straight Selection Sort)4. 堆排序(Heap Sort)5. 冒泡排序(Bubble Sort)6. 快速排序(Quick Sort)7. 归并排序(Merge Sort)8. 桶排序(Bucket Sort)/基数排序(Radix So...转载 2018-05-16 14:19:15 · 478 阅读 · 0 评论 -
[Data Structure & Algorithm] 七大查找算法
阅读目录1. 顺序查找2. 二分查找3. 插值查找4. 斐波那契查找5. 树表查找6. 分块查找7. 哈希查找 查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。插值查找和斐波那契查找是在二分查找的基础上的优化查找算法。...转载 2018-05-16 14:23:07 · 361 阅读 · 0 评论