自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 符号数及其二进制编码

<br />晚上在读格式化字符串exploitation时发现,自己对符号数,无符号数和其对应的二进制编码已经混淆不清了。而在微软等的面试中,这些基础都是重点,只好浪费下时间在此回顾下。<br /> <br />故事是这样发生的……<br /> <br />程序中出现了这样的语句:<br /> <br />int A = -72;<br /> <br />printf("Dec:%d, Hex:%x, Unsighed: %u/n", A, A, A);<br /> <br />执行结果为:Dec: -72

2011-05-23 22:57:00 1213

原创 排序算法之计数排序

<br />今在学习中,遇到计数排序算法,虽然其对待排序的序列要求严格,但对于符合条件的序列来说,其时间复杂度很小。故列于此,仅为学习记忆。<br /> <br />参考资料:http://blog.csdn.net/v_JULY_v/archive/2011/04/23/6347454.aspx<br /> <br />对于仅由大写字母(或小写字母)构成的无序序列,可采用下面算法进行排序。该算法不在序列的每个元素间进行比较,而是使用了一个额外的help整型字符串来记录每个元素出现的频度,然后通过一个巧妙的

2011-05-23 16:12:00 387

原创 const以及const指针相关问题

<br />今天看到execl()库函数的兄弟函数execle()的相关介绍:<br /> <br />int execle(const char *path, const char *arg, ..., chart *const envp[]);<br /> <br />一下就被const char *和char *const搞懵了。记得前段时间看C++ Primer时印象还蛮深刻的,现在却又忘了。<br /> <br />知识啊,只有不断学习使用,才能转变为永久记忆,就像记住心爱mm一切的一切一样。<b

2011-05-22 21:50:00 550

原创 排序算法之快速排序

参考:http://www.cnblogs.com/cj723/archive/2011/04/27/2029993.html  《大话数据结构》快速排序快速排序是最经典效率最高的排序算法,其最优时间复杂度为O(nlogn),平均时间复杂度为O(nlogn),最差情况为O(n2).其基本思想是首先确定一个枢纽,然后寻找一个恰当的位置,使得枢纽前的序列均小于枢纽,枢纽后的序列大于枢纽。然后使用分治递归的方法处理枢纽两端的子序列,直至子序列长度为0或1。在此,枢纽的选择是有讲究的,不明智的方法是选择待排序序列的

2011-05-15 15:23:00 377

原创 排序算法之归并排序

<br />参考:数据结构与算法分析——C语言描述<br /> <br />归并排序是递归思想的典型应用,其基本思想是将待排序的无序序列划分为两部分,然后分别将该两部分进行排序,然后再把排序好的两个子序列合并成一个有序序列。分治思想体现在,对划分好的两个子序列再进行划分,直到子序列最小,达到临界值(子序列中只有一个元素)。<br /> <br />归并算法的时间复杂度为O(nlogn)。<br /> <br />源代码如下<br /> <br />void MergeSort(ElementType A[]

2011-05-13 15:13:00 366

原创 排序算法之堆排序

参考资料:http://www.7747.net/kf/201104/88993.html  《大话数据结构》第9章 排序 9.7 堆排序以上页面非常详细以源码+图示的方法讲述了堆排序的全部过程,在此记录,仅为个人学习笔记。堆排序的基本思想为:将待排序的序列构造成大顶堆(大顶堆:非叶子节点的儿子均小于父亲节点的完全二叉树(完全二叉树,最底一层不必满,不是满二叉树)),该堆的根节点为最大元素,将此元素取出,然后将最后一个元素换至根节点处,再次构造大顶堆,循环至所有元素取出。堆排序的的算法复杂度为O(nlogn

2011-05-12 22:45:00 614

原创 排序算法之希尔排序

<br />2. 希尔(Shell)排序<br /> <br />希尔排序中维护着一个按照某个规律逐渐缩小的增量,算法则按照这个增量的间距比较元素,进行子序列的插入排序,直到增量变为1,完成最后一轮比较排序。<br /> <br />希尔排序时间复杂度最坏情况下为O(n2),其平均时间复杂度与每次选择的增量密切相关,但要优于插入排序。<br /> <br />下面的实现中,增量Increment的选择为N/2(N为原始数组的长度)。从代码中可以看出每一轮的比较和交换,都是由较小的选择排序组成。<br /> 

2011-05-06 15:36:00 839

空空如也

空空如也

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

TA关注的人

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