
数据结构
想写字的sha
随性up up up up →
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
堆排序(寻找数组中第K个最大的数)
堆排序理解1、建立大顶堆,从最后一个非叶子节点开始。2、具体过程:用根结点介绍(方便理解写代码):调整根节点观察1的动向,我们可以知道,调整一个一般非叶子节点的位置,我们需要多次重复操作。操作一个非叶子节点的停止条件,左右子节点都比其父节点要小,或者仅有左节点且比父节点小,或者没有子节点了。我们要从最后一个非叶子节点一直这样调整,直到根节点下面粘代码:class Solution {public: int findKthLargest(vector<int>&原创 2021-01-22 12:07:59 · 1454 阅读 · 0 评论 -
有两个序列a,b,大小都为n,序列元素的值时任意型整数,无序:要求交换a,b中的元素,是序列a元素的和与序列b元素的和之间的差最小。
问题阐述:1.有两个序列a,b,大小都为n,序列元素的值时任意型整数,无序:要求交换a,b中的元素,是序列a元素的和与序列b元素的和之间的差最小。问题分析:1.经过很长时间的思考,并通过浏览各路大神的分析,本小白最终锁定此问题是背包问题。2.将两个列表合成一个列表命名为c,所有元素求和得到sum,最终得到的两个列表为deal_a 和deal_b搞成背包问题,看看有几个约束1.差值最小,我们可以预测到,最终得到的两个数组一定在sum/2 的周围,可以假设deal_a<=sum/2 和dea原创 2020-10-13 21:29:52 · 617 阅读 · 1 评论 -
Dijkstra算法啦啦啦啦
#include <cstdio>#include <cstdlib>#include <cstring>#define n 6#define m 9#define inf 0x3f3f3f3fint e[9][3]; //起始点,结束点,权值int first[n], last[m];int dis[n][3];void Initial()...原创 2019-09-06 20:12:45 · 165 阅读 · 0 评论 -
距离向量路由算法
#include <stdio.h>#include<stdlib.h>#include <string.h>#include <iostream>using namespace std;#define N 6typedef struct road{ //int destination; int nextjump; ...原创 2019-09-06 20:09:38 · 1579 阅读 · 0 评论 -
二叉树创建(错误分享,开心一下),及删除(重点内容)
由于要面对考试,重写一下二叉树的构建,结果各种出错,整理一下前期我陷入对指针应用的迷惑。错误及其离谱例如:void CreateTree(tree *&root,int n){ while (root) root=root->child[n>root->power];//明明使用了引用,却一直在改变root值, //显然会...原创 2019-05-18 21:34:22 · 489 阅读 · 0 评论 -
有向无环图的拓扑排序
首先,介绍一下有向无环图。从字面上理解:1,为有向图2,无环举例,1.有向的二叉树是特殊的有向无环图。2.如图(关键部分)对于有向图来说,深度优先遍历下,若从head出发到结束时出现一条从head的下级节点mid开始指向head的一条路径,则必定此图有环。拓扑排序首先,拓扑排序的对象肯定是有向无环图中左右的点。其次,若存在路径从a指向b,则拓扑排序结果中a一定在b的前面...原创 2019-05-17 21:10:57 · 1883 阅读 · 0 评论 -
三元组快速转置算法
阅读本文,默认你已经看了三元组及其基本存储结构,这里只有快速转置方法初始三元组为M,并且是以行为标准排列,转置重点考虑列的情况。用T来存储转制后的三元组#define MAX 3typedef struct { int i,j; int num;}triple;//存放三元组中每行三个数typedef struct{ //用triple创建三元组 trip...原创 2019-05-16 20:31:24 · 5390 阅读 · 0 评论 -
二叉排序树的非递归后序遍历
主要采用压栈的方法首先,后序遍历指的是 :先访问左子树,再访问右子树,最后访问根节点。(后序,前序,中序,指的都是根节点的位次)后序遍历(非递归)后序遍历比较麻烦,需要经过两次压栈。(假设有n个节点)我们要建立两个栈,每个栈的长度设置为n (保证空间足够,不过读者可以自行优化)首先,将根节点压入,栈1,然后开始循环(先看代码,不理解后面有解释,坚持,嘿嘿)//格式如下int ...原创 2019-05-20 18:32:36 · 609 阅读 · 0 评论 -
快速排序
(数据结构 “快速排序” 学习整理,及个人理解)原创 2019-05-01 09:53:59 · 169 阅读 · 0 评论 -
插入排序
排序 (对数据结构学习的整理)(对应升序排列,个人总结规律并不普遍,不过可以帮助理解)First.1. 插入排序(直接插入排序 ,折半插入排序 ,2-路插入排序 ,表插入排序)这里主要讨论 直接插入排序 和 表插入排序直接插入排序 : 将一个数插入到一个已将排好序的有序表中,得到一个新的且记录数增加1的有序表。(此处记录的是有哨兵的那种)i=0i>0...原创 2019-05-01 00:13:02 · 743 阅读 · 0 评论