数据结构
kuronekonano
这个作者很懒,什么都没留下…
展开
-
数据结构——定长串的实现
数据结构作业模板存档#include<string.h>#include<ctype.h>#include<malloc.h> // malloc()等#include<limits.h> // INT_MAX等#include<stdio.h> // EOF(=^Z或F6),NULL#include<stdlib.h> // atoi()#include<io.h> // eof()原创 2017-11-28 22:15:39 · 530 阅读 · 0 评论 -
链表反转【图解】
给出一个链表的头结点,将链表反转后返回新的头结点首先假设该链表头结点【pHead】在左边,尾节点在右边设定三个指针:tmp 、p、q其中tmp和q两个指针将不断向后移动,而p指针则定在原头结点位置不动,但其next将不断跟着tmp和q指针移动。tmp q @ ——&gt; @ ——&gt; @ ——&gt; @ ——&gt; @ 初始状态 p第一步我们改变p...原创 2018-12-04 01:18:19 · 2591 阅读 · 1 评论 -
【剑指offer】二叉树的下一个结点(模拟)
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。模拟题,考虑几种情况:1.首先最容易解决的情况当然是,当当前结点存在右子树时,直接返回右边结点当有边界点存在左子树时,遍历到右子树的左子树叶,即下一个结点。2.其次情况,当前结点不存在右子树时,只能向上回溯,而向上回溯时又分为两种情况:当是从左子...原创 2019-08-21 18:01:10 · 89 阅读 · 0 评论 -
leetcode在线编程【树专题】
二叉树的最小深度递归遍历每个节点并计数深度,遍历到叶子节点时更新最小深度,并返回,非叶子节点取返回值的最小深度返回class Solution {public: int ans=9999999; int dfs(TreeNode *root,int dep) { dep++; if(root->left==NULL&&am...原创 2019-03-23 19:53:19 · 372 阅读 · 0 评论 -
剑指offer【复杂链表的复制】
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)具体操作看图,这个随机指针的意思是在该链表上除了一个正常的维持线性结构的指针,还有一个让链表变得更复杂的无用指针指向了该链表结构的任意一个节点。我们无需知道该指针的作用或者存...原创 2019-01-15 14:15:41 · 367 阅读 · 0 评论 -
队列最大值&滑动窗口最大值【剑指offer】
头条一面挂的另一个题目,是个原题,面试官小哥哥本想出个简单题给我试试水。面试前在剑指offer上看到了原题,以为自己知道的了思想,其实不然。首先从这个滑动窗口最大值入手题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{...原创 2019-01-25 01:48:20 · 143 阅读 · 0 评论 -
UPC-5622 Tournament(树的最小深度构造)
题目描述 N contestants participated in a competition. The total of N−1 matches were played in a knockout tournament. For some reasons, the tournament may not be “fair” for all the contestants. That is, t...原创 2018-04-24 01:18:47 · 154 阅读 · 0 评论 -
ZOJ - 4016 Mergeable Stack(模拟链表栈合并)
Given initially empty stacks, there are three types of operations:1 s v: Push the value onto the top of the -th stack.2 s: Pop the topmost value out of the -th stack, and print that value. If th...原创 2018-04-09 19:19:24 · 442 阅读 · 0 评论 -
数据结构顺序表小应用——学生成绩管理查询
数据结构顺序表实用练习 都是基本的函数调用和排序,加了点小小的选项。就算对顺序表的结构熟悉练练手吧。。。。#include<string.h>#include<malloc.h>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string>...原创 2018-03-24 23:49:03 · 2704 阅读 · 1 评论 -
数据结构课程设计——图的建立和遍历(邻接矩阵+邻接表)和最短路径dijkstra路径记录
数据结构课程设计,根据之前数据结构实践报告图的遍历修改而成,增加了对图使用dijkstra最短路径算法并记录路径,增加了交互界面,功能选择,异常处理等内容。具体使用邻接矩阵实现,邻接表未被调用但保留代码。原代码请移步:数据结构图的建立以上链接包括了代码中保留部分,各个模块包括建图(邻接矩阵、邻接表),BFS广搜,DFS模块都有说明。本文仅说明代码增加内容,交互界面异常处理和dijkstra...原创 2018-03-24 11:33:07 · 2952 阅读 · 0 评论 -
数据结构循环队列——数组模拟实现
数据结构模板——存档用#include<stdio.h>#include<stdlib.h>#define MAXSIZE 50///队列最大可容纳元素数量typedef struct{ int data[MAXSIZE];///存储数组 int front;///队首 int rear;///队尾}SqQueue;int visit...原创 2018-03-23 17:29:59 · 512 阅读 · 0 评论 -
数据结构——二叉树的建立和遍历(递归建树&层序遍历建树)
数据结构作业模板存档#include<stdio.h>#include <cstdlib>#include <iostream>#include <stack>using namespace std;//二叉树定义typedef char ElementType;typedef struct BiTreeNode{ ElementType data; struct BiT原创 2017-11-28 22:20:02 · 603 阅读 · 0 评论 -
数据结构图的建立和遍历(邻接表、邻接矩阵)
首先是图的存储结构:一、邻接矩阵存储方式实现邻接矩阵存储的结构体中,包括一个存储边的结构体,存储每条边的信息(权值) 将这个边的结构体的二维数组作为图的基本存储结构,放到单个图的结构体中 每个图又包含总节点数、总边数、图的类型等信息 最下方定义一个遍历操作图的函数#include<iostream>#include<stdio.h>#include<string>#include<que原创 2017-11-28 17:49:47 · 17962 阅读 · 14 评论 -
数据结构——栈的顺序存储表示
数据结构作业之五,留作模板保存#include<string.h>#include<ctype.h>#include<malloc.h> // malloc()等#include<limits.h> // INT_MAX等#include<stdio.h> // EOF(=^Z或F6),NULL#include<stdlib.h> // atoi()#include<io.h> // e原创 2017-11-20 19:37:36 · 1131 阅读 · 1 评论 -
数据结构单链队列——链式存储实现
数据结构作业之四,保留做模板#include<string.h>#include<ctype.h>#include<malloc.h> // malloc()等#include<limits.h> // INT_MAX等#include<stdio.h> // EOF(=^Z或F6),NULL#include<stdlib.h> // atoi()#include<io.h> // eo原创 2017-11-20 19:28:45 · 489 阅读 · 0 评论 -
数据结构线性表——链表实现
数据结构作业之二,保存代码模板#include<string.h>#include<ctype.h>#include<malloc.h> // malloc()等#include<limits.h> // INT_MAX等#include<stdio.h> // EOF(=^Z或F6),NULL#include<stdlib.h> // atoi()#include<io.h> // e原创 2017-11-20 19:08:59 · 362 阅读 · 0 评论 -
数据结构顺序表——线性表实现
数据结构作业,做代码保存#include<string.h>#include<ctype.h>#include<malloc.h> // malloc()等#include<limits.h> // INT_MAX等#include<stdio.h> // EOF(=^Z或F6),NULL#include<stdlib.h> // atoi()#include<io.h> // eof(原创 2017-11-20 12:34:44 · 441 阅读 · 0 评论 -
leetcode 【链表反转II】
反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/r...原创 2019-08-18 14:59:46 · 118 阅读 · 0 评论