数据结构笔记
ALL--IN
在追求技术的道路上,不断前行~
展开
-
数据结构01绪论
第一章绪论1.1 什么是数据结构数据结构是一门研究非数值计算的程序设计问题中,计算机的操作对象以及他们之间的关系和操作的学科。面向对象程序=数据结构+算法数据结构是介于数学、计算机硬件、计算机软件三者之间的一门核心课程。数据结构是程序设计、编译、数据库、操作系统的基础。1.2 基本概念和术语数据 data:对客观事物的符号表示,在计算机中是指所有能输入到计算原创 2017-02-23 10:11:34 · 324 阅读 · 0 评论 -
数据结构02线性表
第二章 线性表C++中STL顺序表:vector http://blog.csdn.net/weixin_37289816/article/details/54710677链表:list http://blog.csdn.net/weixin_37289816/article/details/54773406在数据元素的非空有限集中:(1)存在唯一一个被称作原创 2017-02-23 10:13:22 · 271 阅读 · 0 评论 -
数据结构03栈和队列
第三章栈和队列STL栈:stackhttp://blog.csdn.net/weixin_37289816/article/details/54773495队列:queue http://blog.csdn.net/weixin_37289816/article/details/54773581priority_queue http://blog.csdn.net/wei...原创 2017-02-23 11:02:29 · 328 阅读 · 0 评论 -
数据结构04串
第四章 串STL:string http://blog.csdn.net/weixin_37289816/article/details/54716009计算机上非数值处理的对象基本上是字符串数据。在不同类型的应用中,字符串具有不同的特点,要有效的实现字符串的处理,必须选用合适的存储结构。4.1 串类型的定义串 String由零个或多个字符组成的有限序列。s原创 2017-02-23 14:59:50 · 511 阅读 · 0 评论 -
数据结构05数组和广义表
第五章 数组 和 广义表数组和广义表可以看成是线性表在下述含义上的扩展:表中的数据元素本身也是一个数据结构。5.1 数组的定义n维数组中每个元素都受着n个关系的约束,每个元素都有一个直接后继元素。可以把二维数组看成是这样一个定长线性表:它的每个数据元素也是一个定长线性表。数组一旦定义,它的维数和维界就不再改变。因此,除了结构的初始化和销毁之外,数组只能有存取元素和修改原创 2017-02-23 15:45:56 · 668 阅读 · 0 评论 -
数据结构06树和二叉树
第六章树和二叉树6.1 树的定义和基本术语树 Tree 是n个结点的有限集。任意一棵非空树中:(1)有且仅有一个特定的称为根(root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,...,Tm,其中,每一个集合本身又是一棵树,并且称为根的子树(SubTree)。结点:包含一个数据元素及若干指向其子树的分支。结点的度(de原创 2017-02-23 16:34:48 · 508 阅读 · 0 评论 -
数据结构07排序
第十章内部排序10.1 概述排序就是把一组数据按关键字的大小有规律地排列。经过排序的数据更易于查找。 排序前Ki=Kj,且Ki在前:排序方法是稳定的,若排序后Ki在前;排序方法是不稳定的,如排序后Kj在前。 分类:内部排序:排序过程在内存中进行;外部排序:待排序记录的数量很大,内存一次不能容纳全部记录,需要对外存进行访问。 内部排序每一种方法原创 2017-02-23 20:48:14 · 378 阅读 · 0 评论 -
数据结构08查找
第九章查找另一种在实际应用中大量使用的数据结构--查找表。所谓查找,即为在一个含有众多的数据元素的查找表中找出某个“特定的”数据元素。查找表 search table是由同一类型的数据元素构成的集合。集合中的数据元素之间存在着完全松散的关系,故查找表非常灵便。对查找表经常进行的操作:>查询某个元素是否在查找表中;>检索某个元素的各种属性;>插入>删除原创 2017-02-24 09:20:32 · 521 阅读 · 0 评论 -
数据结构09图
第七章 图 Graph7.1 图的定义和术语顶点 VertexV 是顶点的有穷非空集合,顶点数 |V| = nVR 两个顶点之间关系的集合,边数 |VR| = e有向图 Digraph<v, w> Arcv Tail / Inital nodew Head / Terminal node无向图 Undigraph<v, w> 必有 <...原创 2020-03-13 11:49:31 · 293 阅读 · 0 评论 -
Lecture 1 Analysis of Algorithms
Analysis of AlgorithmsThe theoretical study of computer programperformance and resource usage.Performance: timeResource: communication, RAM memory or disk memory and so on. What's more转载 2017-04-01 23:19:51 · 411 阅读 · 0 评论 -
Lecture 2 Asymptotic Notation
转载 2017-04-01 23:25:40 · 1353 阅读 · 0 评论 -
Lecture 3 Divide and Conquer
1.Divide the problem(instance) into one or more sub-problem;2.Conquer each sub-problem recursively;3.Combine solutions.转载 2017-04-01 23:44:03 · 336 阅读 · 0 评论 -
Lecture 4 Quick Sort and Randomized Quick Sort
Quick Sort--Divide and Conquer--Sorts “in place”--Very practical with tuningDivide and Conquer:1.Divide: Partition array into 2 sub-arrays around pivot x such that elements in lower sub-转载 2017-04-01 23:50:01 · 265 阅读 · 0 评论 -
Lecture 5 Sorting Algorithm
How fast can we sort? Depends on the computational model of what you can do with the elements.Comparison sorting model:Only use comparisons to determine the relative order of element转载 2017-04-02 09:35:56 · 315 阅读 · 0 评论 -
Lecture 6 Order Statistics
Given n elements in array, find kth smallest element (element of rank k)Worst-case linear time order statistics --by Blum, Floyd, Pratt, Rivest, Tarjan--idea:转载 2017-04-05 15:17:09 · 700 阅读 · 0 评论 -
Lecture 7 Hashing Table I
Hash|---Hash function: Division, Multiplication|---Collision: Chaining, Open addressing(Linear,Double hasing) Symbol-table problem:Table S holding n recordspointer --> key|satelite...转载 2017-04-05 18:55:08 · 586 阅读 · 0 评论 -
Lecture 8 Hashing II
Weakness of hashing:For any choice of hash function, exists bad set of keys that all hash to same slot.Idea:Choose hash function at random, independently from keys. Universal hashing:Define:...转载 2017-04-05 20:06:14 · 271 阅读 · 0 评论 -
Lecture 9 Random built Binary Search Trees BSTs
Random built Binary Search Trees BSTs E[hight] near 3lognQuick Sort?Relation to Quick Sort:BST sort & Quick sort make same comparisons but in a different order转载 2017-04-05 23:00:22 · 315 阅读 · 0 评论 -
Lecture 10 Balanced Search Trees
Search tree data structure maintaining dynamic set of n elements using tree of height O(logn).Examples: >AVL trees >2-3 trees >2-3-4 trees >B-trees >Red-black trees >Sk转载 2017-04-06 09:15:30 · 421 阅读 · 0 评论 -
Lecture 11 Augmenting Data Structures
Take the basic data structure and add new operations on it.Dynamic order statistics:OS-Select(i)--returns ith smallest item in dynamic set.OS-Rank(x)--returns rank of x in sorted order.I转载 2017-04-06 11:09:29 · 622 阅读 · 0 评论 -
Lecture 12 Skip Lists [Pugh 1989]
---simple efficient dynamic randomized search structure---others: Treap[1993] RB-Trees B-Trees---O(logn) in expectation with high probability.Starting form scratch:(sorted) linked list转载 2017-04-06 17:24:27 · 261 阅读 · 0 评论 -
Lecture 13 Amortized Analysis
原创 2017-04-13 09:31:22 · 239 阅读 · 0 评论 -
Lecture 14 Competive Analysis
转载 2017-04-13 09:51:09 · 307 阅读 · 0 评论 -
Lecture 15 Dynamic Programming
转载 2017-04-13 10:04:33 · 583 阅读 · 0 评论 -
Lecture 16 Minimum Spanning Trees
转载 2017-04-13 10:47:53 · 333 阅读 · 0 评论 -
Lecture 17 Shortest Paths I
转载 2017-04-13 10:56:50 · 540 阅读 · 0 评论 -
Lecture 18 Shortest Paths II
转载 2017-04-21 22:52:46 · 241 阅读 · 0 评论 -
Lecture 19 Shortest Paths III
转载 2017-04-22 07:43:00 · 198 阅读 · 0 评论 -
Lecture 20 Parallel Algorithms I
转载 2017-04-23 22:06:45 · 267 阅读 · 0 评论 -
Lecture 21 Parallel Algorithms II
转载 2017-04-23 22:19:32 · 343 阅读 · 0 评论