暑假学习记录
文章平均质量分 77
usc_su
这个作者很懒,什么都没留下…
展开
-
快速排序 暑假补习之排序算法
按照排序算法的实用分析,快速排序也许是性能最高的一种排序算法了。1. 简单complexity分析时间复杂度O(nlogn)最坏情况O(n^2) :如果pivot的选择不恰当的话。 当然看过博客写过实际环境中,选pivot可选第一个元素,也可随机选择,也可以规律选择,比如在头尾以及中间元素间选择,我个人的观点是按实际情况分析,因为我理解的程序不是照搬,数据结构和算法都千变万化,只选择最原创 2013-06-25 06:50:27 · 1319 阅读 · 0 评论 -
一个数组 三个堆栈 之暑假学习记录(代码已补上)
临近找工作高峰,最近也在不断的练习数据结构与算法。今天看到一道题,不难但是的的却却吸引住了我,我想了几个办法,思想和相应代码如下,如果大家有更好的建议或者有发现错误,请吐槽指出。思路1:一个定长数组,三个堆栈。首先想到的是,每个堆栈长度是固定的,如若数组长度为n,那么堆栈a的空间从0到n-1,堆栈b的空间从n到2n-1,堆栈C的空间从2n到3n-1. 给定三个引用,分别指向三个堆栈的top原创 2013-07-11 08:01:34 · 1176 阅读 · 0 评论 -
关于模拟盘子的堆栈实现(Crack the interview 例题)之暑假学习记录
这两天,可能运动量过大,每天很是昏昏沉沉。今天写一个例题程序,自以为很容易就搞定,没想到墨墨迹迹搞了一个多小时。可见精神状态也很重要,但同时也发现了一些自己关于java的问题。这篇文章只为记录今天垃圾的状态,如果有朋友有兴趣去看这道题目,可以拿走。题目大致是这样的:模拟实现一组盘子,盘子的原理就是堆栈原理,那么为了不使盘子因过高而摔碎,我们可以给盘子分组,每一组是N个。但是拿取盘子的方式还原创 2013-07-14 08:25:15 · 1332 阅读 · 0 评论 -
关于堆排序建堆时间以及堆排序的分析之暑假学习记录
近日总结了一系列的算法排序算法,在理解堆排序的时候遇到了一点阻碍,那就是建堆时间复杂度。本文先详细分析建堆时间复杂度,然后贴出整体堆排序思想和代码:1. 建堆时间复杂度分析:刚开始想建堆的时候,总认为这个时间复杂度是O(nlogn),这个当然并非是错的,因为这个是big-O时间。但是还有更精确的时间复杂度就是O(n). 首先说说O(nlogn)是怎么来的。(1) 最大堆的调整每次得原创 2013-07-06 08:20:27 · 8346 阅读 · 1 评论