链表是一种动态数组,各个节点在内存中零散分布,通过指向下一个节点的指针连结在一起。单链表应该是最简单的一种链表了,单链表的每个节点中都有一个指向下一个节点的指针,最后一个节点指向NULL,有一个头指针指向第一个节点。下面的函数实现了单链表的创建,销毁和删除节点的功能。在添加节点的时候,有种实现方法是...
分类:
编程语言 时间:
2015-05-17 23:33:59
阅读次数:
167
触发器是一种特殊的存储过程,它在插入,删除或改动特定表中的数据时触发运行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有下面的作用:1.安全性。能够基于数据库的值使用户具有操作数据库的某种权利。# 能够基于时间限制用户的操作,比如不同意下班后和节假日改动数据库数据。# 能够基...
分类:
数据库 时间:
2015-05-16 14:43:37
阅读次数:
140
总结链队列
什么是链队?
队列的链式存储结构称为链队列。链队也有两个指针,队头指针和队尾指针,这样队头删除和队尾插入操作就会很方便,链式队列一般像单链表一样,有一个头结点。
图示:
具体实现:
#include
using namespace std;
template
struct Node {
T data;
struct Node *nex...
分类:
编程语言 时间:
2015-05-16 12:02:55
阅读次数:
171
为什么实用二叉树
一,在有序数组中插入删除数据太慢
1插入或者删除一条数据会移动后面的所有数据
二,在链表中查找数据太慢
2查找只能从头或者尾部一条一条的找
用树解决问题
有没有一种插入和删除像链表那么快,查询可以向有序数组一样查得快那样就好了。
数实现了这些特点,称为了最有意思的数据结构之一
树的术语
如下图
树分平衡树和非平衡树
...
分类:
编程语言 时间:
2015-05-15 12:08:28
阅读次数:
189
上篇博客主要讲述了二叉排序树的基本概念和插入删除操作,必须再次说明的是:在一棵高度为h的二叉排序树上,实现动态集合操作查询,插入和删除的运行时间均为O(h)。
可见二叉树的基本操作效率取决于树的形态,当然树的高度越低越好,显然树分布越均匀,高度越低。那么,问题来了?对于给定的关键字序列,如何构造一棵形态匀称的二叉排序树。这种匀称的二叉排序树就称为平衡二叉树。
平衡二叉树定义:平衡二叉树...
分类:
编程语言 时间:
2015-05-15 12:05:53
阅读次数:
184
题解:
首先我们发现对于每个串,我们把它hash一下,然后建一棵平衡树来支持“插入”、“删除”、“下传标记”这三种操作就可以记录并更新一个点的答案了。
然后每个串的串长都较小,修改字符时可以暴力重新hash。
注意:
一对互相交换字符的字符串要先一起删掉再一起往平衡树里加。
可能是同一个串的俩字符交换,此时不能从平衡树中删两遍。
德莱文初始攻速接斧头之间只能再A一下(雾,呃觉得两条太...
分类:
其他好文 时间:
2015-05-15 09:05:34
阅读次数:
385
游标的类型:1、静态游标(不检测数据行的变化)2、动态游标(反映所有数据行的改变)3、仅向前游标(不支持滚动)4、键集游标(能反映修改,但不能准确反映插入、删除)游标使用顺序:1、定义游标2、打开游标3、使用游标4、关闭游标5、释放游标语法declare 游标名cursor [LOCAL | GLO...
分类:
数据库 时间:
2015-05-14 00:48:41
阅读次数:
217
今天总结链栈。
什么是链栈?
链栈就是栈的链式存储结构,就跟单链表差不多。只不过头指针变成了栈顶指针,这个指针总是指向栈顶元素。栈底结点的指针域指向NULL,当top==NULL时,则栈为空.具体实现时,对比着单链表,然后结合图示,很容易就写出来了。
图示:
实现:
#include
using namespace std;
template
struct Node {
...
分类:
编程语言 时间:
2015-05-13 10:38:33
阅读次数:
186
题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(l)时间删除该结点。链表结点与函数的定义如下:
struct ListNode{
int m_nValue;
ListNode *m_pNext;
};
void DeleteNode(ListNode **pListHead, ListNode *pToBeDeleted);把下一个结点的内容复制到需要删除的结点上覆盖原有的内容,...
分类:
其他好文 时间:
2015-05-12 21:04:42
阅读次数:
125