
数据结构
文章平均质量分 88
Sekai_Z
这个作者很懒,什么都没留下…
展开
-
排序
排序一、插入排序1.直接插入排序时间复杂度O(N^2)思想:每次用无序区的第一个元素和有序区的元素从后往前比,找到合适的位置后,把有序区的元素依次后移,插入那个元素后使有序区再次有序void InsertSort(int *a,int length){ for (int i = 0; i < length-1; i++) { int end = i原创 2016-05-31 16:15:46 · 416 阅读 · 0 评论 -
快速排序的几种优化
快速排序是交换排序的一种。其主要过程为:1.在一组数中选取一个key2.将大于key的放到一边,小于key的放到另一边3.分区,重复上两步快速排序最易理解算法1:1.将最右边的数选为key2.begin和end分别为左下标和右下标3.从begin向后,找到比key大的数停下来;从end向前找,找到比key小的数停下来4.交换begin和end指向的值5.原创 2016-06-12 14:44:58 · 568 阅读 · 0 评论 -
二叉搜索树
二叉搜索树二叉搜索树是基于二叉树的一种结构,对于一个二叉树它的左节点小于它的根节点,它的右节点大于它的根节点,它的每个子树的结构相同其结构以及接口实现过程如下templatestruct BSTreeNode{ BSTreeNode* _left; BSTreeNode* _right; K _key; V _value; BSTreeNode(const K&key,原创 2016-06-16 23:05:36 · 361 阅读 · 0 评论 -
红黑树
红黑树 红黑树也是二叉搜索树,只是每个结点增加颜色表示。 红黑树有以下规则:每个结点不是red就是black根结点为black若结点为red,则它的两个子节点为black从每一条路径(根到叶)均有相同数目的black*红黑树保证最长路径不超过最短路径的两倍二叉树在插入时的几种需要转换的情况:情况1情况2情况3:原创 2016-07-29 15:50:57 · 365 阅读 · 0 评论 -
单例模式简析
一、单例模式 单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例。 特点就是多读单写。函数简单实现:classSingleton{public: staticSingleton*GetInstance()//申明为static,可以由对象直接调用,不用用类调用 { i原创 2016-08-31 13:28:27 · 486 阅读 · 0 评论