数据结构(浙大)
数据结构学习博客
Oxygen404
这个作者很懒,什么都没留下…
展开
-
STL
vector定义#include<vector>using namespace std;vector<数据类型>数组名称方法总结push_back() 在末尾加入一个元素pop_back() 在末尾弹出一个元素size() 获取长度clear() 清空高级用法1.不仅可以放基本的数据结构,还可以存储自定义数据类型,例如结构...原创 2020-03-18 16:41:52 · 242 阅读 · 0 评论 -
散列表查找
定义通过散列函数寻找某个关键字所存在的位置,利用散列技术存储在一块连续的存储空间中,这块连续的存储空间称为散列表,对应的存储位置成为散列地址。冲突在查找存储位置的时候会存在关键字不同,但是存储位置相同,即对应的散列函数值相同,这种情况即“冲突”。散列函数的构造散列函数有很多构造方法,比如直接定址法、除留余数法等等,但不是都适用,因此好的散列函数应该具有:计算简单、散列地址分布均匀的特点...原创 2020-02-29 10:44:16 · 277 阅读 · 0 评论 -
数据结构(希尔排序、堆排序)
希尔排序先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。增量increment增量初始值设置为length(待排序的数组长度)/2#include<iostream>#include<cstdio>#includ...原创 2020-02-28 16:45:14 · 507 阅读 · 0 评论 -
数据结构图(下)最小生成树
最小生成树构造连通图的最小代价生成树普里姆算法PrimPrim算法用到的是邻接矩阵,具体方法就是构造一个一维数组初始化值位一个特别大的数(再邻接矩阵里面就已经存好值了),然后从起始点开始找与之相连的点,并存到一维数组里面;进行第一轮循环,找出相连点里面权值最小的,标记这个最小值和点的下标,然后遍历一维数组,找出与这个最小权值点相连的点,再把对于权值存到一维数组里面,再重复上面的步骤,直到完全...原创 2020-02-26 21:35:02 · 265 阅读 · 0 评论 -
二叉搜索树
二叉搜索树(BST)又称二叉排序树、二叉查找树性质:非空左子树上所有节点的值均小于它的根节点的值;非右子树上所有节点的值均大于它的根节点的值;任意节点的左,右子树也分别为二叉搜索树;操作查找查找X在树中的位置,根据二叉搜索树的性质查找还是不难的Find(int x,Bintree BST){while(BST){ if(x>BST->Data) ...原创 2020-02-25 15:58:27 · 135 阅读 · 0 评论 -
最短路径
最短路径最短路径是指俩顶点之间经过的边上的权值之和和最少的路径。Dijkstra算法按路径长度递增的次序产生最短路径的算法。比如有下面这样一个图,要求v0到v2的最短路径。可以看到有两条路v0->v2=8v0->v1->v2=5所以最短路径就是5,dijkstra算法就是这样一个求解过程,来找到最短路径。题目大奶牛很热爱加班,他和朋友在凌晨一点吃完海底捞后...原创 2020-02-20 10:19:17 · 430 阅读 · 0 评论 -
二叉树的深度的深度计算与完全二叉树、满二叉树概念
二叉树的深度计算1、一颗树只有一个节点,它的深度是1;2、二叉树的根节点只有左子树而没有右子树,那么可以判断,二叉树的深度应该是其左子树的深度加1;3、二叉树的根节点只有右子树而没有左子树,那么可以判断,那么二叉树的深度应该是其右树的深度加1;4、二叉树的根节点既有右子树又有左子树,那么可以判断,那么二叉树的深度应该是其左右子树的深度较大值加1。int TreeDeep(struct n...原创 2020-02-20 09:34:46 · 4789 阅读 · 0 评论 -
树
ksj原创 2020-02-18 21:37:00 · 157 阅读 · 0 评论 -
图
图的概念简单来说就是由顶点和边组成的一种数据结构,图的术语比较多,基本上需要了解的包括:有向图、无向图、弧、稀疏图(稠密图)、网等等。定义稀疏图:边或弧比较少的图,后面做题目的时候要先判断是稀疏图还是稠密图再选择用什么算法去做题,(为了避免浪费时间和空间)。权:与图的边或弧相关的数。带权的图称之为网。存储结构邻接矩阵用两个数组来存储图,一个一维数组存储图中的顶点信息,一个二位数组...原创 2020-02-20 09:20:56 · 113 阅读 · 0 评论