1

程序员,你应该知道的数据结构之哈希表

哈希表简介 哈希表也叫散列表,哈希表是一种数据结构,它提供了快速的插入操作和查找操作,无论哈希表总中有多少条数据,插入和查找的时间复杂度都是为O(1),因为哈希表的查找速度非常快,所以在很多程序中都有使用哈希表,例如拼音检查器。 哈希表也有自己的缺点,哈希表是基于数组的,我们知道数组创建后扩容成本比 ...

平头哥的技术博文 发布于 2019-08-22 22:52 评论(0)阅读(252)
0

程序员,你应该知道的数据结构之跳表

跳表的原理 跳表也叫跳跃表,是一种动态的数据结构。如果我们需要在有序链表中进行查找某个值,需要遍历整个链表,二分查找对链表不支持,二分查找的底层要求为数组,遍历整个链表的时间复杂度为O(n)。我们可以把链表改造成B树、红黑树、AVL树等数据结构来提升查询效率,但是B树、红黑树、AVL树这些数据结构实 ...

平头哥的技术博文 发布于 2019-08-22 22:48 评论(0)阅读(102)
0

程序员,你应该知道的二分查找算法

原理 二分查找(Binary Search)算法,也叫折半查找算法。二分查找的思想非常简单,有点类似分治的思想。二分查找针对的是一个有序的数据集合,每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。 为了方便理解,我们以数组 ,在数组中查找 ...

平头哥的技术博文 发布于 2019-08-22 22:43 评论(0)阅读(27)
1

程序员,你应该知道的基础排序算法

冒泡排序(Bubble Sort) 原理 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。 图解 图片来源网络,侵权即删 性能 时间复 ...

平头哥的技术博文 发布于 2019-08-22 22:33 评论(0)阅读(74)
1

【畅通工程 HDU - 1232 】【并查集模板题】

并查集讲解和模板 有一个博文对此分析的很透彻,附 "链接" 为避免原链接失效,现摘录如下: 为了解释并查集的原理,我将举一个更有爱的例子。 话说江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲 ...

AJudge 发布于 2019-08-22 22:17 评论(0)阅读(55)
2

好吧,又是两分钟看完一道投机取巧的算法题

题目来源于 LeetCode 上第 172 号问题:阶乘后的零。题目难度为 Easy,目前通过率为 38.0% 。 题目描述 给定一个整数 n ,返回 n ! 结果尾数中零的数量。 示例 1: 示例 2: 说明: 你算法的时间复杂度应为 O (log n ) 。 题目解析 题目很好理解,数阶乘后的数 ...

五分钟学算法 发布于 2019-08-22 20:51 评论(0)阅读(99)
0

字典更新与K-SVD

字典更新与K-SVD 凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 矩阵的奇异值分解 (Singular Value Decomposition, SVD) 2. 字典更新方法 2.1 最优方向法 (Method of Optimal Directi ...

凯鲁嘎吉 发布于 2019-08-22 17:14 评论(0)阅读(48)
0

排序算法——归并排序

什么是归并排序? 归并排序简单来讲,就是将两个有序的序列整合到一起。 如何将两个有序的序列整合到一起呢? 那么我们假设,现在有 M={m1 ,m2,m3,....,mx}序列和 N = {n1,n2,n3,....,ny}序列,这两个序列已经是有序的序列,首先创建一个空序列 K = {},那么接着将 ...

CHANGKTITI 发布于 2019-08-22 16:50 评论(0)阅读(162)
1

纯数据结构Java实现(3/11)(链表)

完整实现单链表(内含哑结点等技巧),然后实现链栈、链式队列,最后扩展其他链表。 ...

CH-YK 发布于 2019-08-22 13:15 评论(2)阅读(224)
0

(通俗易懂小白入门)字符串Hash+map判重——暴力且优雅

字符串Hash 今天我们要讲解的是用于处理字符串匹配查重的一个算法,当我们处理一些问题如给出10000个字符串输出其中不同的个数,或者给一个长度100000的字符串,找出其中相同的字符串有多少个(这样描述有点不清楚但是大致的意思就是当字符串长度很长,而且涉及到多个字符串之间反复比较时,由于比较的次数 ...

乌克兰大野猪 发布于 2019-08-22 12:38 评论(0)阅读(183)
2

蔡勒(Zeller)公式及其推导:快速将任意日期转换为星期数

0. 本文的初衷及蔡勒公式的用处 前一段时间,我在准备北邮计算机考研复试的时候,做了几道与日期计算相关的题目,在这个过程中我接触到了蔡勒公式。先简单的介绍一下蔡勒公式是干什么用的。 我们有时候会遇到这样的问题: 看到一个日期想知道这一天是星期几,甚至看到一个历史日期或纪念日,我们想快速的知道这一天是 ...

faterazer 发布于 2019-08-22 11:52 评论(2)阅读(209)
0

剑指offer总结一:字符、数字重复问题

问题1:字符串中第一个不重复的字符 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一 ...

huanglf714 发布于 2019-08-22 11:12 评论(0)阅读(36)
0

重复的DNA序列[哈希表] LeetCode.187

所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找 DNA 分子中所有出现超多一次的10个字母长的序列(子串)。 示例: 输入: s = "AAAAACCCCCAA ...

我不是张小毛 发布于 2019-08-21 22:08 评论(0)阅读(26)
0

积性函数前缀和-个人总结

积性函数前缀和 个人总结 【写在前面】 ​ 用了一个多星期将这部分大致弄懂了,东西太多,有很多技巧,自己重新写了一下,记录自己的理解。内容与原文基本一致,在其基础上加上了一些我感觉比较重要的但他没有详细说明的东西。以下都是我逐字打出来的。如果有什么错误,请指出。——Simon 前置技能里面的东西需要 ...

__Simon 发布于 2019-08-21 21:46 评论(0)阅读(43)
0

Extended Traffic LightOJ - 1074

题目链接:https://vjudge.net/problem/LightOJ-1074 思路:(busyness of destination - busyness of source)3 可能会是负值,那么可能出现负环, 需要SFPA来解决,我们需要把负环中的点能到达其他点都标记为‘?’点,因为 ...

SSummerZzz 发布于 2019-08-20 18:50 评论(0)阅读(45)
0

纯数据结构Java实现(2/11)(栈与队列)

栈和队列的应用非常多,但其起实现嘛,其实很少人关心。 虽然苹果一直宣传什么最小年龄的编程者,它试图把编程大众化,弱智化,但真正的复杂问题,需要抽丝剥茧的时候,还是要 PRO 人士出场,所以知根知底,实在是必要之举(而非无奈之举)。 大门敞开,越往里走越窄 ,竞争会越激烈。 栈 基本特性 就一条,FI ...

CH-YK 发布于 2019-08-20 17:47 评论(0)阅读(160)
0

两数相加[链表加法] LeetCode.2

给出两个 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 的方式存储的,并且它们的每个节点只能存储 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 4 3) + (5 6 4) 输出 ...

我不是张小毛 发布于 2019-08-20 16:20 评论(0)阅读(33)
1

纯数据结构Java实现(1/11)(动态数组)

我怕说这部分内容太简单后,突然蹦出来一个大佬把我虐到哭,还是悠着点,踏实写 大致内容有: 增删改查,泛型支持,扩容支持,复杂度分析。(铺垫: Java语言中的数组) 基础铺垫 其实没啥好介绍的,顺序存储,(非受限的)线性结构。查询O(1),因为支持随机存取。 Java中的数组 Java 中的数组操作 ...

CH-YK 发布于 2019-08-20 15:49 评论(0)阅读(131)
0

无重复字符的最长子串[双指针+哈希表] LeetCode.3

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 ...

我不是张小毛 发布于 2019-08-20 15:37 评论(0)阅读(30)
0

纯数据结构Java实现(0/11)(开篇)

为嘛要写 本来按照我的风格,其实很不喜欢去写这些细节的东西,因为笔记上直接带过了。 本来按照我的风格,如果要写,那也是直接上来就干,根本不解释这些大纲,参考依据。 本来按照我的风格,不想太显山露水,但要看了看互联网头部班子(大佬们),发现还是要推销和展示一下自我的。(但愿后面不会太过火) 本来。。。 ...

CH-YK 发布于 2019-08-20 13:41 评论(0)阅读(73)