算法思考
文章平均质量分 80
tianhaoray
这个作者很懒,什么都没留下…
展开
-
数据结构--堆
数据结构--堆,可能我们只在《数据结构》这本书上接触过,实际应用中很少用到(至少我觉得是这样)。那么这到底是一种怎样的结构?引入它有什么好处?先来分析这两个问题 生活中,我们常可见到各种土堆,石堆等等,类似地,“堆”这个名词可以想到是顶端窄,下端越来越宽的金字塔结构。形象化的一种表示方式就是二叉树,当然它是一种特殊的二叉树,除最下层外都是满二叉树,并且最下层是从左到右依次排列没有空间隔(层序遍历原创 2013-05-27 16:22:01 · 524 阅读 · 0 评论 -
最大子数组和算法的思考
如果之前没有看过最大子数组和的解法思想,这一问题很能体现算法的设计能力。当然,算法是两面性的,越简单的效率越低,效率高的算法往往易错和更难理解。本文简单针对此例说说对算法设计的一些感悟 首先是问题定义:给定一个一维数组,其中包含一些负数,求其中任意连续子数组之和的最大值 首先是最基本最简单的思想:求和嘛,就是把所有的和都求出来,然后比较取其中的最大值就好了 maxsofar = 0 for原创 2013-05-14 12:04:28 · 666 阅读 · 0 评论 -
排序算法 总结&思考(一)
--前言 排序算法是最基本而且最基础的问题,特别是在C语言中。在C++,JAVA等面向对象设计中通常会提供相应的库函数,使得编程者不必要考虑详细的设计处理,调用即可。即便如此,这一问题仍然是面试笔试中必然涉及到的话题。写一篇自己对各种排序算法的认识,作为以后找工作的基础吧 1.简单易懂 の 直接插入排序(InsertSort) 谈到排序,日常接触最多的例子就是扑克牌的顺序调整,因为分原创 2013-05-28 16:33:25 · 588 阅读 · 0 评论 -
排序算法 总结&思考(二)
写排序算法总是计算机招聘笔试面试必考,也最检验考基础能力的题~续前一篇介绍其他四种排序算法 5. 轮轮选拔 の 冒泡排序 冒泡排序也是原理比较好懂,但是实现效率不高的排序方法之一,比较适合初学者熟悉理解算法的过程 “冒泡”本身就是一个很形象的比喻。在此排序算法中,每一轮会前后两两比较,将较小的数(或较大)前移。遍历整个数组后,很容易想到第一个数就是当前数组中最小(或最大)的数,很像一个比较轻原创 2013-07-26 12:55:16 · 612 阅读 · 0 评论