随笔分类 -  算法设计

跟算法有关,不管是简单还是复杂
摘要:D3D设备初始化以后,双精度浮点运算的结果出现了不同。 在FPU中,存在着三种运算精度:single precision(24bits),double precision(53bits),double extended precision(64bits)。而默认精度是53bits的double precision,也就是双精度浮点。D3D出于性能考虑,会将fpu的计算精度改为单精度。因为fpu线程相关的特性,渲染线程中所有的浮点运算都会保持与D3D一致。这种转变体现在fpu的控制寄存器(CTRL)的变化上,CTRL寄存器的值从007F变成027F。 RC字段,这个字段控制浮点转整型的转换方式, 阅读全文
posted @ 2011-12-13 09:11 Atypiape 阅读(4448) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习数据结构所用,实用性N低,各位飘过吧~~哈哈:>//// C++ 模版技术实现堆排序. // #include <cstdlib>#include <cstring> #include <iostream>#include <stdexcept>//// 堆化函数模版.// 当一棵二叉树除了根节点外,其子树都满足堆性质时,// 对根节点进行调整,使得整棵二叉树树都满足堆性质.//template <typename T>void heapify(T *array, size_t low, const size 阅读全文
posted @ 2011-05-28 23:53 Atypiape 阅读(643) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习数据结构所用,实用性N低,各位飘过吧~~哈哈:> 阅读全文
posted @ 2011-05-28 20:00 Atypiape 阅读(1292) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习数据结构所用,实用性N低,各位飘过吧~~哈哈:>//// C++模版技术实现快速排序. // #include <cstdlib>#include <cstring>#include <iostream> #include <stdexcept>//// 两值交换. //template <typename T>inline void swap(T &x, T &y){ T temp = x; x = y; y = temp;} //// 快速排序函数模版. // 以首元素为基准(pivot) 阅读全文
posted @ 2011-05-28 17:04 Atypiape 阅读(698) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习数据结构所用,实用性N低,各位飘过吧~~哈哈:>//// C++ 模版技术实现归并排序. // #include <cstdlib>#include <cstring> #include <iostream>#include <stdexcept>//// 归并操作. //template <typename T> void merge(T *array, const size_t low, const size_t mid, const size_t high){ if (NULL == array) { 阅读全文
posted @ 2011-05-28 15:17 Atypiape 阅读(2181) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习数据结构所用,实用性N低,各位飘过吧~~哈哈:>//// C++ 模版技术实现直接插入排序. // #include <cstdlib>#include <cstring> #include <iostream>template <typename T>void insertionSort(T *array, const size_t count){ T temp; for (size_t i = 1, j; i < count; ++i) { for (j = i, temp = array[j]; 0 < 阅读全文
posted @ 2011-05-28 00:09 Atypiape 阅读(976) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习数据结构所用,实用性N低,各位飘过吧~~哈哈:>//// C++ 模版技术实现直接选择排序. // #include <cstdlib>#include <cstring> #include <iostream>//// 首先在未排序序列中找到最小元素,存放到排序序列的起始位置,// 然后,再从剩余未排序元素中继续寻找最小元素,// 然后放到排序序列末尾. 以此类推,直到所有元素均排序完毕.//template <typename T>void selectionSort(T *array, const size_t c 阅读全文
posted @ 2011-05-27 23:33 Atypiape 阅读(975) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习数据结构所用,实用性N低,各位飘过吧~~哈哈:>//// C++模版技术实现鸡尾酒排序(改进的冒泡排序). // #include <cstdlib>#include <cstring>#include <iostream>template <typename T>void swap(T &x, T &y){ T temp = x; x = y; y = temp;}template <typename T>void cocktailSort(T *array, const size_t co 阅读全文
posted @ 2011-05-27 21:31 Atypiape 阅读(885) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习数据结构所用,实用性N低,各位飘过吧~~哈哈:>//// C++模版技术实现冒泡排序. // #include <cstdlib>#include <cstring>#include <iostream>template <typename T>void bubbleSort(T *array, size_t count){ size_t i, j; bool isSwap; T temp; // // count 个泡泡共需比较 count - 1 趟. // 每趟从最底层 array[count - 1] 开始比较. 阅读全文
posted @ 2011-05-27 20:37 Atypiape 阅读(679) 评论(0) 推荐(0) 编辑
摘要:话说中学时没有好好读数学,除了老师课堂上讲的那点,书基本不翻,现在有点后悔,打算过段时间把中学数学书重新翻过。求最大公约数(Greatest Common Divisor,简称GCD),记忆里的求解方法已经模糊,辗转相除法是后来学 C 语言才知道的,不清楚推导过程,只知道有个定理:gcd(a,b) = gcd(b,a mod b)。定理的意思大体是,a 和 b 的最大公约数等于 b 和 a 除 b 所得余数的最大公约数。因此,求余数是个关键。好了,我已经说过了,我数学不好,再分析下去就糗大了,看代码://// 辗转相除法求最大公约数,计算原理依赖定理:gcd(a,b) = gcd(b,a mo 阅读全文
posted @ 2011-05-24 18:12 Atypiape 阅读(524) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示