还是一样的郁闷呢|

gonghr

园龄:4年1个月粉丝:308关注:25

随笔分类 -  数据结构与算法

百度松果菁英班OJ【连载】
摘要:第十六周 2 的 n 次幂 高精度乘法 #include<bits/stdc++.h> using namespace std; vector<int> mul(vector<int> &A) { vector<int> C; int t = 0; for (int i = 0; i < A.siz
1189
0
1
【数据结构与算法】手撕红黑树
摘要:红黑树 定义 动机: 二叉查找树查找、插入、删除最坏情况时间复杂度可能退化为 O(n)。 AVL 树很好的限制了数的高度为 O(logn),插入、删除、查找的最坏时间复杂度均为 O(logn);但删除操作最多需要做 O(logn) 次旋转。 红黑树是具有如下特点的二叉查找树: 每个结点是红色或黑色的
599
1
6
【数据结构与算法】手撕平衡二叉树
摘要:平衡二叉树 定义 动机:二叉查找树的操作实践复杂度由树高度决定,所以希望控制树高,左右子树尽可能平衡。 平衡二叉树(AVL树):称一棵二叉查找树为高度平衡树,当且仅当或由单一外结点组成,或由两个子树形 Ta 和 Tb 组成,并且满足: |h(Ta) - h(Tb)| ⇐ 1,其中 h(T) 表示树
1539
0
4
【数据结构与算法】手撕二叉查找树
摘要:二叉查找树 定义 二叉查找树(亦称二叉搜索树、二叉排序树)是一棵二叉树,且各结点关键词互异,其中根序列按其关键词递增排列。 等价描述:二叉查找树中任一结点 P,其左子树中结点的关键词都小于 P 的关键词,右子树中结点的关键词都大于 P 的关键词,且结点 P 的左右子树也都是二叉查找树 节点结构 1️
384
0
0
【数据结构与算法】Trie(前缀树)模板和例题
摘要:Trie 树的模板 Trie 树的简介 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。他的核心思想是空间换时间,空间消耗大但是插入和查询有着很优秀的时间复杂度。 Trie 树的定义 Trie树的键不是直接保
858
0
0
【数据结构与算法】股票系列通解
摘要:121. 买卖股票的最佳时机 LeetCode 121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利
440
1
1
【数据结构与算法】快速幂
摘要:快速幂 引入 快速幂是用来解决求幂运算的高效方式。 例如我们要求 x 的 90 次方,一般的方法可以通过一个循环,每次乘一个 x,循环 90 次之后就可以得到答案,时间复杂度为 O(n),效率较低。而通过快速幂,我们可以在 O(log(n)) 的时间复杂度内完成该运算。 具体方法 我们可以通过二进制
412
0
1
【数据结构与算法】蓄水池抽样算法(Reservoir Sampling)
摘要:问题描述 给定一个数据流,数据流长度 N 很大,且 N 直到处理完所有数据之前都不可知,请问如何在只遍历一遍数据(O(N))的情况下,能够随机选取出 m 个不重复的数据。 比较直接的想法是利用随机数算法,求 random(N) 得到随机数,但是题目表明数据流极大,这种大数据量是无法一次都读到内存的,
1366
0
0
【数据结构与算法】二叉树的 Morris 遍历(前序、中序、后序)
摘要:前置说明 不了解二叉树非递归遍历的可以看我之前的文章【数据结构与算法】二叉树模板及例题 Morris 遍历 概述 Morris 遍历是一种遍历二叉树的方式,并且时间复杂度O(N),额外空间复杂度O(1) 。通过利用原树中大量空闲指针的方式,达到节省空间的目的 分析 设一棵二叉树有 n 个节点,则所有
1318
0
1
【数据结构与算法】中缀表达式转后缀表达式以及后缀表达式的计算
摘要:中缀表达式转后缀表达式 方式一 步骤 1️⃣ 如果遇到操作数,我们就直接将其输出。 2️⃣ 如果遇到操作符,则我们将其放入到栈中,遇到左括号时我们也将其放入栈中。 3️⃣ 如果遇到一个右括号,则将栈元素弹出,将弹出的操作符输出直到遇到左括号为止。注意,左括号只弹出并不输出。 4️⃣ 如果遇到任何其他
539
0
0
【数据结构与算法】链表模板及例题
摘要:链表模板 链表结构 public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.
524
0
0
【数据结构与算法】前缀和与差分
摘要:前缀和 一维前缀和 前缀和数组 sum 的每一位记录的是当前位置距离起点位置,这连续一段的和区间和。 利用前缀和数组,我们可以快速得到数组任意区间的元素和。 构造前缀和数组的时间复杂度是O(n),获得区间和的复杂度是O(1) 当nums数组的元素下标从0开始算时,需要做出一些调整 模板和例题 Lee
421
0
1
【数据结构与算法】图的模板及例题
摘要:图的存储结构 邻接矩阵 适用于边数较多的情况,采用二维数组存储 // 邻接矩阵数组:w[from][to] = weight 代表从 from 到 to 有权重为 weight 的边 int[][] w = new int[N][N]; // 加边操作 void add(int from, int
235
0
0
【数据结构与算法】二叉树模板及例题
摘要:二叉树节点结构 class Node<V>{ V value; Node left; Node right; } 二叉树的遍历(递归) 先序遍历 顺序:根左右 public static void preOrderRecur(Node head) { if (head == null) { retu
1268
0
2
【数据结构与算法】字符串匹配(后缀数组)
摘要:概念 简介 在计算机科学里, 后缀数组(英语:suffix array)是一个通过对字符串的所有后缀经过排序后得到的数组。此数据结构被运用于全文索引、数据压缩算法、以及生物信息学。 后缀字符串 后缀字符串:从后往前依次递增截取的字符串。长度为 n 的字符串有 n 个后缀 后缀数组和rank数组 后缀
1604
0
2
【数据结构与算法】字符串匹配(Rabin-Karp 算法和KMP 算法)
摘要:Rabin-Karp 算法 概念 用于在 一个字符串 中查找 另外一个字符串 出现的位置。 与暴力法不同,基本原理就是比较字符串的 哈希码 ( HashCode ) , 快速的确定子字符串是否等于被查找的字符串 比较哈希值采用的是滚动哈希法 如何计算哈希值: 如 : “abcde” 的哈希码值为 \
1447
0
2
【数据结构与算法】归并排序
摘要:概念 过程 分解:将n 个元素分成个含n/2 个元素的子序列; 解决:对两个子序列递归地排序 合并:合并两个已排序的子序列以得到排序结果 和快排不同的是 归并的分解较为随意 重点是合并 需要额外开辟数组空间 代码实现 public static void mergeSort(int[] arr){
180
0
0
【数据结构与算法】非比较排序(计数排序、桶排序、基数排序)
摘要:计数排序 概念 一句话︰用辅助数组对数组中出现的数字计数,元素转下标,下标转元素 假设元素均大于等于0,依次扫描原数组,将元素值k记录在辅助数组的k位上 思路:开辟新的空间,空间大小为max(source)扫描source,将value作为辅助空间的下标,用辅助空间的改位置元素记录value的个数。
321
0
2
【数据结构与算法】堆排序
摘要:树、二叉树的简单介绍 可以用数组表示一颗二叉树(数组下标从0开始) 左子节点下标是 2n+1 (n是父节点下标) 右子节点下标是 2n+2 (n是父节点下标) 父节点下标是 (n-1)/2 (n是左子节点或者右子节点下标) 堆的概念 二叉堆是完全二叉树或者是近似完全二叉树 二叉堆满足两个特性: 父节
219
0
1
【数据结构与算法】快速排序(三种代码实现以及工程优化)
摘要:概念 快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两个部分独立地排序。递归调用发生在处理整个数组之后。 快速排序算法首先会在序列中随机选择一个基准值(pivot),然后将除了基准值以外的数分为“比基准值小的数”和“比基准值大的数”这两个类别,再将其排列成以下形式。 [ 比基准值小的数
1174
2
0
深色
回顶
收起
点击右上角即可分享
微信分享提示
  1. 1 Whenever you are ONE OK ROCK
Whenever you are - ONE OK ROCK
00:00 / 00:00
An audio error has occurred.

作词 : TAKA

作曲 : TAKA

I'm telling you

Tonight tonight

You are my angel

爱してるよ

爱してるよ

2人は一つに

Tonight tonight

I just say…

Wherever you are I always make you smile

Wherever you are I'm always by your side

Whatever you say 君を思う気持ち

I promise you forever right now

I don't need a reason

I don't need a reason

I just want you baby

Alright alright

Day after day

この先长いことずっと

この先长いことずっと

どうかこんな仆とずっと

死ぬまで Stay with me

We carry on…

Wherever you are I always make you smile

Wherever you are I'm always by your side

Whatever you say' 君を思う気持ち

I promise you forever right now

Wherever you are I never make you cry

Wherever you are I'never say goodbye

Whatever you say 君を思う気持ち

I promise you forever right now

仆らが出逢った日は2人にとって

一番目の记念すべき日だね

そして今日という日は2人にとって

二番目の记念すべき日だね

心から爱せる人

心から爱せる人

心から爱しい人

この仆の爱の真ん中には

いつも君(きみ)がいるから

Wherever you are I always make you smile

Wherever you are I'm always by your side

Whatever you say 君を思う気持ち

I promise you forever right now

Wherever you are wherever you are

Wherever you are

おわり

おわり

おわり