数据结构
数据结构的相关内容
lilllll0099
这个作者很懒,什么都没留下…
展开
-
最大连续子数组的和
连续最大子数组的和例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。解法1将最大子数组的值记为res,初始化为数组第一个元素的值;将sum作为每个最大子数组的和,初始化为0。遍历数组的每个元素,如果sum>0,继续加上该位置的元素;否则,将sum重置为这个位置元素的值。当sum>res时,替换res的值。class Sol...原创 2020-01-17 11:20:00 · 256 阅读 · 1 评论 -
后序遍历构建二叉树+查找打印路径+删除
给出后序遍历序列###ca##ji####spom, 构建二叉树。上述二叉树实际是一颗二叉排序树,请实现程序查找c节点,输出从树根到c节点的路径。删除其中的m节点,使得删除后仍为二叉排序树。头文件 Binary_node.h 构建二叉树节点#include<iostream>struct Binary_node { char ch; struct Binary...原创 2019-11-14 17:54:56 · 601 阅读 · 0 评论 -
利用大顶堆实现top-k算法
有一堆二维坐标点<x1,y1>, <x2, y2>……<xn, yn>, 现在有两个问题:给出n个坐标点,请对他们进行堆排序。坐标点的大小关系是:如果 xi> xj, 则 <xi,yi> 大于 <xj, yj>. 若 xi=xj 且 yi >yj, 那么同样有<xi,yi> 大于 <xj, yj>....原创 2019-11-23 14:32:07 · 715 阅读 · 0 评论 -
邻接表实现DFS和BFS
题目用邻接表存储下图 ,并实现BFS和DFS。解题思路这是一个带权无向图,题目要求用一个邻接表存储,可以是一个链表数组,但本题采用C++STL中的multimap实现。把一个char字符与一个结构体节点进行映射,形成多个映射。每个结构体节点包括一个char类型的数据和一个int类型的权。这里采用char字符是为了使节点更加常规化。再采用BFS和DFS对该表从0节点开始做一个遍历,思路也比...原创 2019-11-29 19:29:40 · 1689 阅读 · 0 评论 -
实现有向无环图的拓扑排序
题目用DFS和BFS实现如下有向无环图的拓扑排序:解题思路采用multimap存储这幅图,依次建立每个节点和它对应的后序节点组成的数组的映射。代码如下:Graph.h#pragma once#include<iostream>#include<vector>#include<map>#include<queue>#includ...原创 2019-11-29 21:54:23 · 898 阅读 · 0 评论 -
指针和引用的区别
指针和引用都是C++中常见的概念,但是好像之前没有系统地整理过,还是有些模糊二者的区别,今天想详细地整理一下:指针:是一个变量,存储一个地址,指向内存的一个存储单元。引用:是原来变量的一个别名,实质上和原来的变量是同一个东西。区别:1.指针可以用const修饰,const引用只读不可改。2.指针可以多级,但引用只有一级。(存在int**p,不存在int&&p)3.指...原创 2020-01-04 20:42:26 · 128 阅读 · 0 评论 -
Trie树实现字符串前缀统计
题目字符串前缀统计Description给定N个单词,建立 Trie 树;求所有长度为M的前缀中出现的次数最多的前缀。Input第一行:N,M接下来N行每行一个单词,单词的长度不超过15Output长度为M的字符串,表示前缀长度为M的出现次数最多的字符串前缀Sample Input3 2abcabdacdSample Outputab解题思路用Trie树实现,定...原创 2019-12-08 11:57:30 · 472 阅读 · 0 评论 -
二叉树某一节点的左旋
题目:树左旋Description给定二叉树的前序遍历,每个节点用一个字符表示,节点间存在一个空格,约定“#”代表空节点,请建立二叉树;例如给定的前序遍历:a b d # # e f # # g h # # i # # c # #给定二叉树的一个节点N,请对此节点进行左旋操作。Input输入数据有两行,第一行是二叉树的前序遍历,第二行是需要左旋的节点NOutput请按照中序遍历输出...原创 2019-12-08 14:24:05 · 233 阅读 · 0 评论