算法
操作系统架构
仅记录自己的一些思考或剽窃别人的一些优秀思考|Random thoughts of an embedded-kernel hacker.
展开
-
《深入理解-shell排序》
shell排序的特点是,按一定的步长抽取序列中的子元素,构成子序列,然后对子序列进行插入排序,如此循环直到步长为1,此时整个序列作为整体进行插入排序,由于之前的步骤已经保证子序列的有序性,故而,最后的插入排序时间复杂度很小,整体性能优异。头文件#ifndef SHELLSORT_H#define SHELLSORT_H#include #include using s原创 2017-09-15 08:49:48 · 463 阅读 · 0 评论 -
《深入理解-堆排》
堆排分析:本质是利用完全二叉树的性质,将待排序的数组按照二叉树层序遍历的顺序进行处理,例如数组大小为N=10: int array={1, 9, 2, 6, 3, 5, 4, 7, 8, 0};用二叉树层序遍历得到: 1 / \ 9 2 / \ / \ 6原创 2017-09-29 15:36:14 · 193 阅读 · 0 评论 -
《深入理解-快速排序》
快速排序本质是一种切分交换比较思想:对数组N array[10] = {88, 22, 66, 77, 55, 44, 33, 99, 11, 0};选array[0]为参考对象,选两个索引i,j,i指向数组第二个array[1],j指向数组末尾array[9];向右滑动 i, 如果array[i] > 88 && i 改为向左滑动j, 如果array[j] = 0, 并且j>原创 2017-09-30 16:39:19 · 277 阅读 · 0 评论 -
《图的深度优先搜索和广度优先搜索》
1. 代码/************************************************************************* > File Name: dfsbfs.cpp > Author: XXDK > Email: v.manstein@qq.com > Created Time: Sun 05 Nov 2017 09:53:40 PM CST原创 2017-11-05 22:00:16 · 217 阅读 · 0 评论