数据结构与算法
文章平均质量分 67
hxw31极专简注
相信当自己回首此时,定会为自己而感动!
展开
-
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl翻译 2016-09-10 21:58:44 · 159 阅读 · 0 评论 -
算法之分治法
分治,顾名思义,分而治之。分治法也算是一种解决问题的常用模式,分治法的设计思想是将无法着手解决的大问题分解成一系列规模较小的问题,然后逐个解决小问题,即所谓的分而治之。类似于对一个比较大的工程进行模块化分解,通过逐个解决每个模块最终达到解决整个工程的目的。 分治法作为算法设计中一个古老的策略,在很多问题中得到了广泛的应用,比如最大最小问题(比如在一堆形状相同的物品中找出最重或最轻的哪一个翻译 2016-09-10 22:21:02 · 947 阅读 · 0 评论 -
排序算法之冒泡排序
1、算法描述: 冒泡排序法也叫气泡排序法,是交换排序的一种,是根据在水中轻气泡不能在重气泡之下的原则设计的。主要是想为:扫描所以数据,进行两两比较,发现违反轻气泡在重气泡之下的原则的数,交换其位置,让重气泡下沉,轻气泡上浮。 2、算法实现: 例如:要求对元素序列{23,49,32,56,12,87,65}进行冒泡排序,其过程分析如下:对于N个元素,最多进行原创 2016-10-10 00:22:21 · 412 阅读 · 0 评论 -
排序算法之快速排序
1、算法描述 快排算法是由C.A.R Hoarse提出的一种算法,该算法是目前实践中使用最频繁、实践效率最好的排序算法。快排是一种运用分治思想的算法;主要思想为:对待排序数组S={d1,d2,......,dn},从中找出元素V,我们称之为划界元素,将剩下的元素中小于或等于V的元素移到V的前面,将大于V的元素移到V的后面,这样V就找到了它最终的排序位置,并将S划分为两两不相原创 2016-10-10 23:54:57 · 357 阅读 · 0 评论 -
动态规划法(一)
一、引言 “动态规划” (dynamic programming)一词源于研究优化问题的数学理论,动态规划法的发明人贝尔曼(Richard E.Bellman)称,选择“dynamic”一词纯粹是看中了单词本身的魅力,而不是其内在语义。“programming”在研究优化的领域中标识“搜寻最优程序”的意思。1、重复子问题 大体上,动态规划法与分治法具有类似的翻译 2017-03-07 10:00:33 · 430 阅读 · 0 评论 -
暴力解决法(一)
一、引言 计算机邻域里常说的“暴力解决法”(brute-force) 指的是,利用计算机的高速运算能力,琢一罗列出所有可能的情况,然后找出答案。例如,在解决寻找最优路径的问题中,可以列出所有可能路径,然后再找出最短路径。还有,计算可分配资源方案的问题则中,列出所有可分配的方式求出最佳答案。这些例子都很好的反映了暴力求解法的优点。 这种列出所有可能性的算法称为“穷举搜索法翻译 2017-03-08 10:41:06 · 434 阅读 · 0 评论