![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
swy_swy_swy
这个作者很懒,什么都没留下…
展开
-
B+树等算法在线可视化演示
B+树等算法在线可视化演示如题。这是旧金山大学做的一个在线算法可视化工具。地址:https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html目录页地址:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html...原创 2020-04-16 21:45:57 · 15254 阅读 · 3 评论 -
三叉堆排序(递归&非递归)
三叉堆排序(递归&非递归)问题描述输入:第一行是一个整数n,表示三叉堆节点的数量第二行是n个整数,依次表示三叉堆节点的关键字。输出:n行每行若干个数,第一个数为树根(即数列最小值),之后若干个数依次为删除树根并用末尾节点关键字last代替根节点后每次交换的数,最后用关键字last结尾。样例输入:410 30 13 16样例输出:10 13 1613 1616 30...原创 2019-12-22 17:44:02 · 11535 阅读 · 2 评论 -
栈的应用:火车调度问题
栈缓冲法解决火车调度问题原创 2019-11-17 21:09:16 · 12307 阅读 · 2 评论 -
树的应用:求有根树所有子树大小
计算多叉树的所有子树大小原创 2019-11-10 20:09:57 · 11292 阅读 · 2 评论 -
二叉树:广义表搭建二叉树
使用广义表搭建二叉树(及层序遍历)问题概要二叉树是非常常见的数据结构,那么,如何从无到有构建一棵二叉树呢?比较主流的方法就是输入一个广义表,例如A(B(D),C),这种形式。那么,如何把这种字符串转变为对应的,用指针相连的二叉树,这个问题很常见,故记录如下。(这里假定树的节点内容均为大写英文字符。)算法思路首先,为了建立树,必须建一个根节点。为了在这棵树上运动,建立一个指针,指向当前操作...原创 2019-11-03 20:23:12 · 13005 阅读 · 2 评论 -
栈的应用——缓冲区计算逆波兰式
栈缓冲法计算数学表达式问题描述输入一个字符串(不含括号,只有个位数),输出计算结果代码#include <stdio.h>#include <malloc.h>#include <stdlib.h>struct ListNode { int data; ListNode* Next; ListNode* Last;};struct Li...原创 2019-10-23 23:47:49 · 10339 阅读 · 1 评论 -
栈的应用:c语言求解n皇后问题(迭代版)
c语言求解n皇后问题问题描述:输入一个整数n,输出对应的n皇后问题的解的个数准备工作0:大致思路对于n皇后问题,显然采用回溯法:逐行放置皇后,对于某一行来说,依次遍历所有位置,直到在该行找到一个合法的位置把皇后放入其中;若在该行找不到这样的合法位置,就回溯到上一行的皇后,将其继续移动,直到在当前行找到下一个合法位置。若已经到达最后一行,且找到了放置皇后的合法位置,那么解的个数加一,并再次回...原创 2019-10-13 23:18:22 · 5404 阅读 · 1 评论 -
(新手向)双向链表的c语言实现
双向链表的c语言实现概述链表是很多数据结构的基础,它本身也是一种基本数据结构(线性表)的一种常见实现。但是很多教程上链表的c语言实现在我看来不够模块化。而较为模块化的实现,往往是通过c++或java等面向对象语言实现的,对于新手不够友好。建表首先,建立节点与链表的结构体struct ListNode {//节点 int data;//数据 ListNode* Next;//指向前一个...原创 2019-10-05 17:46:03 · 10648 阅读 · 1 评论