算法学习
文章平均质量分 64
格林希尔
少年 远望 远行
展开
-
VB-快速排序
快速排序(QuickSort)快速排序 像归并排序,快速排序是分而治之算法。它选择一个元素作为支点和周围的采摘支点给定的数组分区。 有迹象表明,挑支点以不同的方式快速排序的许多不同的版本。 总是挑一个元素作为支点。 总是挑最后一个元素为支点(下实现) 选择一个随机元素作为支点。 挑选位数作为支点。 在快速排序的关键过程是分区()。分区目标,给定一个数组和X数组作为支点的元素,将X个原创 2016-08-10 17:28:00 · 4025 阅读 · 8 评论 -
VS KMP-串的模式匹配(五)
串的定位操作通常称为串的模式匹配,它是串处理系统中最重要的运算之一,子串常被称为模式串。它的基本思想是从主串的第一个字符起与模式串的第一个字符比较,若相等,则继续逐对字符进行后续的比较,否则从主串的第二个字符起与模式串的第一个字符重新比较......原创 2017-11-05 21:48:02 · 388 阅读 · 10 评论 -
NP问题 总结与认识
在算法学习的总结过程中,NP问题的研究常常会让我不太理解。趁着这次对软考算法学习的总结,再次翻看书页修订自己的知识网。原创 2017-11-19 21:12:26 · 8190 阅读 · 17 评论 -
VS 排序思考与实现——整理分析(一)
VS 排序思考与实现——整理分析(一)原创 2017-09-18 21:52:47 · 809 阅读 · 21 评论 -
VS 排序思考与实现——动态规划(四)
动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段原创 2017-09-24 21:22:27 · 670 阅读 · 43 评论 -
动态规划---公式推导剖析
动态规划的习题内容来自软考书(第四版)---动态规划部分的0-1背包问题。原创 2017-08-22 10:03:03 · 1329 阅读 · 20 评论 -
简单辨析:循环、递归、迭代、遍历
在学习算法的过程中,常会遇到Loop、Iterate、Traversal、Recursion,他们都与重复(Repeat)有关,但又不完全是重复的意思。那么这几个词到底各是什么含义,有什么区别和联系。为了不再让它们是我心里的简单的重复的感觉,为了给它们定下一个简单的定义,便有了我下面的分享:原创 2017-08-14 18:19:27 · 575 阅读 · 13 评论 -
从VB来看-BubbleSort(VB冒泡排序)
冒泡排序 有时也被叫做交换排序 沉没排序 ,是一种简单的排序算法通过列表反复步骤进行排序,每对相邻的项目进行比较,根据需要的升降序交换他们。 这是一种比较排序 ,虽然算法简单,但是存在大量数据排列较慢,不切实际的问题。时间复杂度:若待排数据的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数 和记录移动次数 均达到最小值时 ,有最好时间复杂度,为:O(n)。反之,若此数列倒原创 2016-07-19 11:32:52 · 7270 阅读 · 44 评论 -
从VB来看-排序
引言:排序算法是一种被广泛使用的算法,是计算机程序设计中的一种重要操作,在计算机软件领域发挥着重要的作用。它的功能是将任意序列的数据元素或记录重新按关键字顺序排列成有序的序列。 有序序列为记录的查找、插入和删除提供了方便,可以有效提高搜索效率。排数是一种抽象的通过简单过程对排序的表达,它将数据元素的任一序列,重新排列成一个关键有序的序列。本文的内容也将以数作为排序的关键字。内部排序和外原创 2016-06-12 19:41:33 · 2462 阅读 · 11 评论 -
从VB来看-InsertionSort(VB插入排序)
插入排序(Insertion Sort) 它是通过不断将未排序数据插入有序序列,一次次循环加入待排序数据扩充有序序列部分,来达到最终的排序目的。很像我们平时发牌时一张张整牌的过程:我的习惯是先把最左边第一张作为有序部分,之后每拿取一张牌进行大小比较,按照升序或降序的方式整理好手里的牌(构建整个有序部分)。 在众多算法的使用对比中,通常在量级小于千的情况下使用插入排序还是令人满意的。时间复杂度原创 2016-08-04 14:56:39 · 4867 阅读 · 7 评论 -
随机数的生成---Random
引子 在算法的学习中,怎么也躲不过对数据的处理。那么对于随机数的生成也是其中重要的一环。最近在使用C#来设计我的算法程序,遇到了随机数生成的需要,下面是我的实现:实现 下面来说我的实现过程: ①首先获取用户输入的数组容量(ArraySize) ②设置循环的代码,生成随机数,添加随机数到列表代码for (int i = 1; i < Convert.ToInt32(...原创 2018-03-11 20:33:10 · 475 阅读 · 5 评论