自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

皓月的博客

菜鸟的学习笔记

  • 博客(5)
  • 资源 (7)
  • 收藏
  • 关注

原创 排序算法——堆排序

堆其实是一颗完全二叉树, 结点编号从左到右,从上到下依次递增。通常为了方便计算 根节点的左右孩子结点,会从下表1开始计数。如下面的二叉树,用数组可以表示为:如一个数组为: A = {16, 4, 10, 14, 7, 9, 3, 2, 8, 1}其中 A[1] = 16, A[0] 不使用。其实不从1开始也可以:比如假设 root = i, 那么左孩子 为 2 *i + 1, 右孩子为 2 * i...

2016-06-03 11:47:19 339

原创 排序算法——归并排序(递归)

参考了博文 http://blog.csdn.net/morewindows/article/details/6678165/ 归并排序和快速排序的比较相似, 都是用分治法 + 递归来实现, 不过顺序刚好是反过来的。 快速排序是先找中枢点,将线性表分成2个区域,然后依次对左边部分排序、右边部分排序,是一个不断细化表的过程;而归并则是不停的将两个表合并成一个表的过程, typedef st

2016-06-02 17:37:50 497

原创 快速排序的改进方法

可以在选择中枢结点时,选择left, right,(left+right)/2三个位置中关键字居中的元素。注意需要将选好的中枢结点与左端元素交换位置,因为如果不交换位置,算法就有问题了,这是由于right--在left++先执行,导致right最后退出循环时指向的值一定比中枢结点值小。例如选择的是right作为中枢结点,最后一步会把更小的值交换到最后。void quickSort(Element ...

2016-06-02 12:37:20 2806

原创 改进的插入排序算法

使用数组来做插入排序时有三个过程。 第一:要在有序表中查找插入的位置。 第二: 要移动元素,以存储新的元素。 第三:插入元素。 插入元素很简单,给数组赋值就可以了,主要的优化在第一步和第二部,共有2中改进方法,分别对应第一步和第二步。 1. 折半插入排序。        这种改进的方法主要是在上诉第一步,因为是有序表,如果使用折半查找效率比顺序查找高很多。 2. 链式插入排序。

2016-06-01 20:40:54 1235

原创 排序算法——插入排序

以前学习严蔚敏版的数据结构在博客也写过这个算法,现在回过头来看觉得当时思路有点混乱,写得比较复杂而且难理解,现在学习数据结构基础时重写一下,个人觉得数据结构基础比严蔚敏版的要好,因为分析得更加详细思路更清晰,也有完整代码,当然也可能是我第二次学习数据结构的原因。 插入排序的原理: 首先将线性表的第一个元素当成有序表,然后从第二个元素开始,依次插入到第有序表中完成排序。 例如,有数组

2016-06-01 10:55:24 355

汇编语言第三版

学习汇编语言入门首选,在X86平台下讲述16位汇编语言,如果有些基础1个月内估计就能学习完并较好掌握,当然这个只是入门,学习完这个还要继续学习其他平台或者32/64位的汇编。

2018-05-08

跟我一起写Makefile

讲解makefile比较好的中文版资料,内容相对比较全面。

2018-05-08

linux 设备驱动开发及参考代码

中文版,学习驱动开发必备,需要有具备一定的内核知识。

2018-05-01

Wireshark 数据包分析实战详解

Wireshark 数据包实战分析,Wireshark 数据包实战分析

2018-04-30

TCP-IP详解卷一:协议

虽然有点枯燥,但是是学习网络知识的基础,主要学习TCP,UDP,IP协议,其它协议可以先了解一下,需要用到的时候再有针对性的研究效果可能更好。

2018-04-30

算法导论中文版_原书第3版(带目录).pdf

学习数据结构的神器,数有点难,适合有一定基础的人读。

2018-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除