2014年6月22日

C语言字节对齐

摘要: 这篇文章讲的非常清晰:http://www.linuxsong.org/2010/09/c-byte-alignment总结一下:(1)每个结构体成员都有一个有效对齐值N,如果对结构体事先指定了有效对齐值,则N不得超过指定的值(如int自身有效对齐值是4,char是1,若在外部指定有效对齐值为2,则... 阅读全文

posted @ 2014-06-22 21:05 xfan_ 阅读(129) 评论(0) 推荐(0) 编辑

2014年6月5日

洗牌算法分析

摘要: 洗牌问题:给定函数RandInt(a, b)(产生最小为a,最大为b的随机数), 将1,2,3,……54这54个整数顺序打乱,并且每个数出现的概率相等。这是《数据结构与算法分析》中的一道习题,习题中给出了三个算法思路(n=54):按如下方法填入从a[0]到a[n-1]的数组A;为了填入a[i],生成... 阅读全文

posted @ 2014-06-05 22:26 xfan_ 阅读(1356) 评论(2) 推荐(0) 编辑

2014年5月14日

linux下生产者与消费者C实现

摘要: 最近做毕设涉及到了生产者与消费者模型,这个东东只在操作系统课程上有点印象,于是花了点时间看了下《unix环境高级编程 》的线程部分,在此记录一下。1.多线程的概念就不多说了,pthread.h头文件中包含的几个基本概念及函数:pthread_t————线程ID数据类型,线程ID只在它所属的进程环境中... 阅读全文

posted @ 2014-05-14 15:27 xfan_ 阅读(8935) 评论(6) 推荐(1) 编辑

2014年5月9日

排序算法学习之归并排序

摘要: 1. 归并排序原理:有长度为n的子序列a[n],可以将其看做n个长度为1的子序列,将相邻子序列两两归并后子序列数量减少一半,再对子序列进行两两归并,数量又减少一般,重复直到得到一个长度为n的子序列2. 实现归并操作的代码如下:/*array[s…m]和array[m+1…t]均已各自有序,合并使得a... 阅读全文

posted @ 2014-05-09 11:12 xfan_ 阅读(192) 评论(0) 推荐(0) 编辑

排序算法学习之堆排序

摘要: 一、堆与堆排序的产生及定义 在简单选择排序中,每次从n个元素中比较n-1次选取最小的元素,这很好理解,但是前面比较过的数据在之后还要重新比较,这将花费大量的运算时间。堆排序算法就很好的解决了这个问题,堆排序在每次选择到最小记录的同时会根据比较结果对其他数据进行调整,堆排序的时间复杂度为O(Nlog... 阅读全文

posted @ 2014-05-09 11:09 xfan_ 阅读(254) 评论(0) 推荐(0) 编辑

排序算法学习之快速排序

摘要: 快速排序基本思想:选取一个枢轴元素(图简单可选第一个),通过对序列一次遍历(中间涉及到数的交换),将该枢轴放置到序列合适位置,保证其左边数都比它小,右边数都比它大,然后利用递归思想对其左右两个子序列进行同样排序。快熟排序的基本实现过程:将枢轴元素key备份,序列头尾各设置一个游标——i和j,尾部... 阅读全文

posted @ 2014-05-09 11:06 xfan_ 阅读(167) 评论(0) 推荐(0) 编辑

排序算法学习之希尔排序

摘要: 直接插入排序对待排数量较少且基本有序的序列,其执行效率是非常高的,希尔排序正是利用了这点,将一个无序的序列拆分成几个子组,然后对几个子组分别进行插入排序。注意,这儿的分组并不是简单的{a1,a2,a3,b1,b2,b3,c1,c2,c3}(相同字母为一组),而是进行{a1,b1,c1,a2,b2... 阅读全文

posted @ 2014-05-09 11:03 xfan_ 阅读(171) 评论(0) 推荐(0) 编辑

排序算法学习之简单排序(冒泡排序,简单选择排序,直接插入排序)

摘要: 一、冒泡排序冒泡排序算是最基础的一种算法了,复杂度为O(N^2),其基本思想是:从最低端数据开始,两两相邻比较,如果反序则交换。代码如下:/*最基本的冒泡排序*/void BubbleSort1 (int n, int *array) /*little > big*/{ int i, j... 阅读全文

posted @ 2014-05-09 11:01 xfan_ 阅读(242) 评论(0) 推荐(0) 编辑

2013年5月27日

Django学习——模型

摘要: 《The Django Book》学习笔记把数据存取逻辑、表现逻辑和业务逻辑组合在一起的概念被称为软件架构的Model-View-Controller(MVC)模式。在这个模式中, Model 代表数据存取层,View 代表的是系统中选择显示什么和怎么显示的部分,Controller 指的是系统中根... 阅读全文

posted @ 2013-05-27 23:24 xfan_ 阅读(233) 评论(0) 推荐(0) 编辑

Django学习——模板

摘要: 《The Django Book》学习笔记模板主要用来使表现与样式分离,模板通常用于产生HTML,但是Django的模板也能产生任何基于文本格式的文档。如何使用模板系统以下是一个简单的模板例子:Ordering noticeOrdering noticeDear {{ person_name }},... 阅读全文

posted @ 2013-05-27 00:05 xfan_ 阅读(222) 评论(1) 推荐(0) 编辑

导航