09 2016 档案

摘要:算法12 约瑟夫环问题 1 首先我们来解决一个约瑟夫环的问题,再慢慢的深入。 问题描述: 罗马人攻占了桥塔帕克,41个人躲在一个山洞中,逃过了这场浩劫。这41人中,包括历史学家约瑟夫和他的一个朋友。剩余的39人为了表示不想屈服罗马人,决定集体自杀。大家想到了一个自杀方案,这41个人围城一个圆圈,由第 阅读全文
posted @ 2016-09-29 10:56 taoliu_alex 阅读(322) 评论(0) 推荐(0)
摘要:算法11 红黑树的实现 阅读全文
posted @ 2016-09-28 10:24 taoliu_alex 阅读(211) 评论(0) 推荐(0)
摘要:算法11 红黑树不带父结点指针的插入实现 阅读全文
posted @ 2016-09-27 21:45 taoliu_alex 阅读(300) 评论(0) 推荐(0)
摘要:算法10 二叉搜索树之基数树 基数树是用来保存和排列字符串,关于字典序有两条规则: 算法导论中给出这样的图,我们结合图来看 1. 当字符串长度相同时,从左向右逐个字符比较,左边的比右边的小。如011 < 100。 2. 字符串长度不同时,长度长的在字典序中值更大。如100 < 1011。 因此,根结 阅读全文
posted @ 2016-09-27 18:14 taoliu_alex 阅读(691) 评论(0) 推荐(0)
摘要:算法10 二叉搜索树存在重复数据插入的实现 当用TREE-INSERT将n个具有相同关键字的数据项插入到一棵初始为空的二叉查找树中时,该算法的渐近性能如何? 我们可以对TREE-INSERT做一些改进,即在第5行的前面测试key[z] = key[x],在第11行的前面测试key[z] = key[ 阅读全文
posted @ 2016-09-23 18:20 taoliu_alex 阅读(2945) 评论(0) 推荐(0)
摘要:算法10 二叉搜索树 搜索树数据结构支持许多动态集合操作,包括search,minimum,maximum,predecessor,successor,insert和delete等。 概念:二叉搜索树。对于任何节点x,其左子树中的关键字最大不超过x.key,其右子树中的关键字最小不低于x.key。其 阅读全文
posted @ 2016-09-22 20:23 taoliu_alex 阅读(362) 评论(0) 推荐(0)
摘要:二叉树的遍历不用栈和递归 转自:ACM之家 http://www.acmerblog.com/inorder-tree-traversal-without-recursion-and-without-stack-5988.html 我们知道,在深度搜索遍历的过程中,之所以要用递归或者是用非递归的栈方 阅读全文
posted @ 2016-09-21 21:57 taoliu_alex 阅读(1789) 评论(0) 推荐(0)
摘要:在这里我们理一遍二叉树的递归和非递归遍历 一.前序遍历 前序遍历按照“根结点-左孩子-右孩子”的顺序进行访问。 1.递归实现 1 void preOrder1(BinTree *root) //递归前序遍历 2 { 3 if(root!=NULL) 4 { 5 cout<<root->data<<" 阅读全文
posted @ 2016-09-20 22:49 taoliu_alex 阅读(165) 评论(0) 推荐(0)
摘要:算法9 完全二叉树 树结构的基本特征 (1)在一个树结构中,有且仅有一个节点没有直接前驱,这个节点就是树的根节点; (2)除了根节点外,其余结个节点有且仅有一个直接前驱; (3)每个结点都可以有任意多个直接后继; 树有一些基本的概念要清楚 父结点和子结点; 兄弟结点; 结点的度; 树的度; 叶结点; 阅读全文
posted @ 2016-09-19 16:38 taoliu_alex 阅读(500) 评论(0) 推荐(0)
摘要:队列及其实现 和上一部分关于栈的部分一样,不讲基本知识,直接实现,走你! 队列和栈相似,也包括一些基本的队列的操作,初始化,出队列,入队列,判空,判满,清空等操作。 阅读全文
posted @ 2016-09-18 08:32 taoliu_alex 阅读(185) 评论(0) 推荐(0)
摘要:有关栈的基本概念随便找一本书上面都有详细的介绍,在这里我用c语言只实现。 这一部分包括一些基本的栈的操作,初始化,出栈,入栈,判空,判满,清空等操作。 阅读全文
posted @ 2016-09-17 16:56 taoliu_alex 阅读(587) 评论(0) 推荐(0)
摘要:两种最基本的查找 1顺序查找 2 二分查找 阅读全文
posted @ 2016-09-16 09:15 taoliu_alex 阅读(193) 评论(0) 推荐(0)
摘要:高性能重复数据检测与删除技术研究 这里介绍一些零碎的有关数据重删的东西,以前总结的,放上可以和大家交流交流。 1 数据量的爆炸增长对现有存储系统的容量、吞吐性能、可扩展性、可靠性、安全性、 可维护性和能耗管理等各个方面都带来新的挑战, 消除冗余信息优化存储空间效率成为 缓解存储容量瓶颈的重要手段,现 阅读全文
posted @ 2016-09-14 20:19 taoliu_alex 阅读(4429) 评论(6) 推荐(1)
摘要:之前几天在忙其他的事情,没有时间更新,今天更新了几个,虽然有几个SMR的博客暂时没有开放,已经写好了,以后会慢慢开放的 今天再更新一个有关排序的算法题 1 Merge Sorted Array描述Given two sorted integer arrays A and B, merge B int 阅读全文
posted @ 2016-09-14 20:13 taoliu_alex 阅读(221) 评论(0) 推荐(0)
摘要:在上一篇中我给出了整个SMR学习部分的思维导图,说的比较抽象,这一部分仍然是从整体上来学SMR部分;下面的部分都是总结的,更加精练的话,可以去看论文《叠瓦式磁记录磁盘的研究进展》,这篇论文是我们写的有关SMR磁盘的一个综述; 接下来的部分相对于论文中提到的会更加的详细,针对其中的一些部分,我会在后面 阅读全文
posted @ 2016-09-14 20:08 taoliu_alex 阅读(2814) 评论(0) 推荐(0)
摘要:主要是一些常见的排序方法的实现 1 冒泡排序算法 排序算法的理论和实现比较简单; 对于冒泡排序算法的改进,一种比较好的方法是,每次中间排序之后,都进行排序状态检测,如果已经排好序,就退出排序过程,否则基于冒泡排序; 但是:对于数组排序状态的检测,我没有比较好的办法;如果个数比较少,还可以容易得出,但 阅读全文
posted @ 2016-09-14 19:50 taoliu_alex 阅读(230) 评论(0) 推荐(0)
摘要:1 数组基本概念 2 数组有关的编程练习 1 数组的基本概念 数组就是用下标表示位置的相同类型数据的顺序数据类型,其中机器在给数据分配空间的时候分配的是一块连续的空间。 数组没有什么很多的东西需要补充,值得注意的是,数组作为参数的时候,使用指针的情况; 2 编程练习 1 remove duplica 阅读全文
posted @ 2016-09-06 16:24 taoliu_alex 阅读(295) 评论(0) 推荐(0)
摘要:字符串没有什么很重要的知识点需要说的,但是还是有一些比较重要的题,我们来一起分享一下 1 Valid Palindrome 描述: Given a string, determine if it is a palindrome, considering only alphanumeric chara 阅读全文
posted @ 2016-09-05 14:39 taoliu_alex 阅读(203) 评论(0) 推荐(0)
摘要:单循环链表的实现如下 阅读全文
posted @ 2016-09-03 11:45 taoliu_alex 阅读(323) 评论(0) 推荐(0)
摘要:1 双向链表详解和实现 1.1 双向链表详解 双(向)链表中有两条方向不同的链,即每个结点中除next域存放后继结点地址外,还增加一个指向其直接前趋的指针域prior。双向链表在查找时更方便 特别是大量数据的遍历。 注意: ①双链表由头指针head惟一确定的。 ②带头结点的双链表的某些运算变得方便。 阅读全文
posted @ 2016-09-02 22:24 taoliu_alex 阅读(464) 评论(0) 推荐(0)
摘要:现在我们要在链表中存储任意类型的数据(也就是说数据所占字节数是在使用链表的时候确定),既然要能存储任意类型的数据,那么我们的链表的节点和链表的定义就要做一些修改了。 下图是节点和链表的定义,data是一个ElemType类型的数据,而ElemType是被我们定义成了一个void *,也就是一个空指针 阅读全文
posted @ 2016-09-01 21:39 taoliu_alex 阅读(322) 评论(0) 推荐(0)