查找与二叉树 我家园子有几棵树系列 查找与二叉树 我家园子有几棵树系列 Preface 查找 二叉查找树的实现 定义数据结构 中序遍历 查找操作 插入 删除 删除最小值 复制(拷贝)删除 步骤 Rank 2-3查找树 总结 Preface 前面我们学习了基于线性表的数据结构,如数组,链表,队列,栈等 ...
分类:
其他好文 时间:
2019-08-13 10:38:50
阅读次数:
194
概述 堆是一颗完全二叉树。分为大根堆(父节点>=所有的子节点)和小根堆(父节点<=所有的子节点)。 插入、删除堆顶都是O(logN),查询最值是O(1)。 完全二叉树(Complete Binary Tree) 若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数, ...
分类:
其他好文 时间:
2019-08-11 16:57:08
阅读次数:
97
第一种:哈希表的思想(性能最好) 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。 优点:不论哈希表中有多少数据,查找、插入、删除(有时包括删除)只需要接近常量的时间即 ...
分类:
编程语言 时间:
2019-08-09 21:26:18
阅读次数:
99
题目:在O(1)时间删除链表节点 给定单向链表的一个头指针和节点指针,定义一个函数在O(1)时间删除该节点 ...
分类:
其他好文 时间:
2019-08-09 10:41:04
阅读次数:
91
链表是一个动态的存储空间,在开始前无需考虑空间大小的问题,优点是删除或添加时方便,省内存,缺点是查找引用困难。想象一下一个巨大的单链表从头指针查找元素的情境,瞬间就明白了。链表的主要应用有约瑟夫问题,以及各类易TLE/MLE题目上。 ...
分类:
其他好文 时间:
2019-08-08 21:02:01
阅读次数:
94
freeRTOS中的链表结构: 对链表的插入删除操作可参见源码中的list.c。 任务的定义与切换: main()函数里面顺序执行的无限循环,在这个循环中,CPU按照顺序完成各种操作。 多任务系统中,根据功能的不同,把整个系统分割成一个个独立的且无法返回的函数,这种函数就被称为任务。 多任务系统中, ...
分类:
其他好文 时间:
2019-08-08 20:52:25
阅读次数:
88
链表是一个常见的重要的数据结构。最简单的单向链表:链表有一个头指针变量head,它存放一个地址。该地址指向第一个元素。链表中每一个元素称为结点, 每一个结点都包括两部分:第一部分为用户实际用的数据,第二部分为下一个结点的地址。这种链表的数据结构,必须用结构体和指针才能实现。 ...
分类:
编程语言 时间:
2019-07-29 11:32:45
阅读次数:
110
#include using namespace std; //链表的定义 struct ListNode { int val; ListNode* next; ListNode(int n) :val(n), next(nullptr) {} }; //链表的打印 void printList(L... ...
分类:
其他好文 时间:
2019-07-27 23:42:30
阅读次数:
110
HashMap 初识HashMap 之前的List,讲了ArrayList、LinkedList,最后讲到了CopyOnWriteArrayList,就前两者而言,反映的是两种思想: (1)ArrayList以数组形式实现,顺序插入、查找快,插入、删除较慢 (2)LinkedList以链表形式实现, ...
分类:
其他好文 时间:
2019-07-24 11:43:39
阅读次数:
146
1、存储过程简介: 存储过程,英文名Stored Procedure,说简单点,就是将MySQL语句集或必要的程序封装在一个结构体里面,存储在数据库中,供外部调用的一个数据库对象,存储过程在思想上很简单,就是SQL代码的封装与重用。 优点 存储过程可封装,并隐藏复杂的商业逻辑。 存储过程可以回传值, ...
分类:
数据库 时间:
2019-07-24 00:17:20
阅读次数:
116