
数据结构
KroneX
ACM退役选手,热爱优雅、高效、有创造力的技术,本博客记录题解,编程tips,计算机相关知识,心得等。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【leetcode】剑指 Offer 09. 用两个栈实现队列(yong-liang-ge-zhan-shi-xian-dui-lie-lcof)(数据结构)[简单]
链接 https://leetcode-cn.com/problems/kth-largest-element-in-an-array/ 耗时 解题:10 min 题解:-33 min 题意 用两个栈实现一个队列。 队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 思路 设置两个栈,st1 和 st2。 入队时,直接把元素放入 st1。 出队时,先看 st2原创 2020-06-30 23:42:06 · 242 阅读 · 0 评论 -
【leetcode】876. 链表的中间结点(middle-of-the-linked-list)(链表)[简单]
链接 https://leetcode-cn.com/problems/middle-of-the-linked-list/ 耗时 解题:14 min 题解:6 min 题意 给定一个非空单链表的头结点指针 head,返回链表的中间结点指针。 思路 用一个指向头节点的指针遍历整个链表,得到链表长度。 用一个指向头节点的指针移动一半链表长度即可得到指向链表中间节点的指针。 AC代码 /** * D...原创 2020-03-23 13:11:44 · 196 阅读 · 0 评论 -
【数据结构】排序算法
#include <bits/stdc++.h> using namespace std; //不稳定: 快排、堆排、选择、希尔 template<typename T, int n> // 1、冒泡排序(Bubble Sort)时间复杂度 O(n^2) 空间复杂度 O(1) void BubbleSort(T (&arr)[n]) { for (int i ...原创 2019-08-07 20:51:31 · 290 阅读 · 0 评论 -
【数据结构】POJ 1985 Cow Marathon(树的直径)
链接: http://poj.org/problem?id=1985 题意: 有 nnn 个农场和 mmm 条路,以及每条路的方向(方向在这道题中没有用)。并且每对农场之间只有一条路可达,即这是一个树。求最长的一条路,也就是两点间的最大距离,即树的直径。 思路: 树的直径: 树的最长简单路(树中所有路径的最大值)。 求解方法: 跑两遍 BFS。第一遍 BFS 先任选一个起点,BFS 找到最长路的终...原创 2019-08-12 15:09:25 · 275 阅读 · 0 评论