题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! ...
分类:
其他好文 时间:
2018-12-30 22:47:39
阅读次数:
233
删除操作 删除操作比较复杂,主要是因为删除的项可能在叶子节点上也可能在非叶子节点上,而且删除后可能导致不符合B树的规定,这里暂且称之为导致B树不平衡,于是要进行一些合并、左旋、右旋等操作,使之符合B树的规定(即让B树平衡)。另外,如果是删除非叶子节点项需要先找到中序前驱来替换。 情况一 要删除的项在 ...
分类:
编程语言 时间:
2018-11-12 14:49:32
阅读次数:
175
1 #include 2 #include 3 #include 4 5 void left_rotate(char *str, int k) 6 { 7 int len=strlen(str); 8 k %= len;//减少重复次数 9 10 char temp = 0; 11 char *cu... ...
分类:
编程语言 时间:
2018-11-10 23:54:20
阅读次数:
204
//方法一 //每次左旋一次,判断旋转之后字符串是否与目标字符串是否一致 //旋转一圈 没有找到返回0 #define _CRT_SECURE_NO_WARNINGS #include #include #include void left_rotate(char *str, int k) { in... ...
分类:
编程语言 时间:
2018-11-10 23:49:15
阅读次数:
193
Treap,又称树堆,是一种通过堆性质来维持BST平衡的数据结构。具体体现在对于树上每一个点来说,既有BST维护的值,又有一个堆维护的随机生成的值。维护平衡性的办法是 根据堆维护的值的相对大小关系进行左旋和右旋这两种操作,在旋转的前后,依然满足BST性质 。 代码如下 ...
分类:
其他好文 时间:
2018-11-10 17:56:55
阅读次数:
194
教材学习内容总结 第 十一 章 二叉查找树 一、概述 二叉查找树是一种含有附加属性的二叉树,即其左孩子小于父结点,父结点小于或等于右孩子 (二叉查找树的定义是二叉树定义的扩展) 二、 用链表实现二叉查找树 addElement操作: addElement方法根据给定元素的值,在树中的恰当位置添加该元 ...
分类:
其他好文 时间:
2018-11-02 20:19:16
阅读次数:
150
def aa(s,n): #n%=len(s) return s[n:]+s[:n] print(aa('abddh',2)) ...
分类:
编程语言 时间:
2018-10-29 14:47:28
阅读次数:
200
#include using namespace std; struct node { int val; struct node *left, *right; }; node *rotateLeft(node *root) {//左旋 可以记下来 余下都可反推 node *t = root->rig... ...
分类:
其他好文 时间:
2018-10-26 14:22:58
阅读次数:
125
概念 红黑树(Red-Block Tree)是一种近似平衡的二叉树,因此拥有较高的查询效率,但正因为是一棵近平衡树,因此在插入或删除节点时,会结构调整(变色,左旋,右旋),使其接近平衡,从而降低效率.本文以TreeMap为例说明,TreeMap用红黑树构建,所以查询性能较高,时间复杂度为O(lgn) ...
分类:
其他好文 时间:
2018-10-13 16:49:24
阅读次数:
163
zip//右旋 zap//左旋 insert//插入 1.终止,添加单点信息 2.修改size 3.向下插入(先插后旋) ...
分类:
其他好文 时间:
2018-09-30 22:49:47
阅读次数:
203