写点什么

数据结构与算法

2 人感兴趣 · 234 次引用

  • 最新
  • 推荐

开山之作!Python 数据与算法分析手册,登顶 GitHub!

若把编写代码比作行军打仗,那么要想称霸沙场,不能仅靠手中的利刃,还需深谙兵法。

Programming Abstractions in C 阅读笔记:p338-p346

用户头像
codists
03-24

《Programming Abstractions in C》学习第80天,p338-p346,总计9页。

Programming Abstractions in C 阅读笔记:p327-p330

用户头像
codists
03-20

《Programming Abstractions in C》学习第78天,p327-p330,总计4页。

https://static001.geekbang.org/infoq/3d/3dfbbb7ed20e6501de1657756aa09092.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

从 BST 到 LSM 的进阶之路 | 京东物流技术团队

相信大家之前都了解过很多种数据结构,我之前总是两两的,也就是从局部上去进行比较,没有从整体上进行这些树的发展脉络进行梳理,因此经常看完没多久就忘了。看来确实是需要从本源出发,不仅要知其然还要知其所以然,了解清楚前因后果,不仅可以方便我们记忆

https://static001.geekbang.org/infoq/ad/ad4b52060f9203c7610337da541552f8.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

深入理解线段树 | 京东物流技术团队

线段树(Segment Tree)是常用的维护区间信息的数据结构,它可以在 O(logn) 的时间复杂度下实现单点修改、区间修改、区间查询(区间求和、区间最大值或区间最小值)等操作,常用来解决 RMQ 问题。

https://static001.geekbang.org/infoq/36/36b32d5f9928f609d1a625bb3c7448f8.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

任务调度之时间轮实现 | 京东云技术团队

在生活中太阳的东升西落,鸟类的南飞北归,四级的轮换,每天的上下班,海水的潮汐,每月的房租车贷等等,如果用程序员的视角看,这就是一个个的定时任务,在日常的开发工作中也有很多的定时任务场景:

一个字牛!腾讯大牛把《数据结构与算法》讲透了,带源码笔记

用户头像
程序知音
2023-05-27

最后想要说明的是,排序算法/数据结构的代码可能不是最优解,代码的实现都是以比较容易理解的方式去写的。几乎每句代码都有对应的注释,应该是能看懂的。

膜拜,国内算法大佬亲撰:数据结构与算法全解笔记

用户头像
程序知音
2023-05-04

近些年来,算法在互联网的地位占重凸显,在各大互联网企业应用中有着举足轻重的作用。无论是面试还是笔试,算法都占据着绝大部分。 如果你准备跳槽面试的话,最好提前做好准备!

重载 ++ 运算符分别实现 i++ 和 ++i

用户头像
linux大本营
2023-04-26

重载++运算符可以使用类的成员函数或者友元函数实现。

递归算法

用户头像
linux大本营
2023-04-25

递归是一种常见的算法思想,在编程中广泛应用。递归是通过函数体内调用函数自身的方式来完成的。它通常将一个大问题分解成若干个规模较小的子问题,然后不断递归处理这些子问题,直到问题足够简单,可以直接得到结果。

已知非空线性链表由 list 指出, 链结点的构造为 (data,next)。写 - 算法, 将链表中数据域值最小的那个链结点移到链表的最前面。要求: 不得额外申请新的链结点

用户头像
linux大本营
2023-04-24

们可以在遍历链表的时候记录下整个链表中的最小值和对应的结点位置。然后将这个最小值所在的节点移到链表的最前面即可。具体的步骤如下:

2023 面试到底有多难?大厂为何都注重算法?我们该如何应对?

用户头像
程序知音
2023-04-13

给定一个单链表的头节点 head,实现一个调整单链表的函数,使得每K个节点之间为一组进行逆序,并且从链表的尾部开始组起,头部剩余节点数量不够一组的不需要逆序。(不能使用队列或者栈作为辅助)

终于扒完国内算法第一人 10 年经验总结的数据结构与算法详解文档

用户头像
程序知音
2023-03-20

相信想进一线大厂的程序员是非常多的,也是程序员一直以来的梦,不仅仅是因为薪资比较高,更多的是因为大厂比较锻炼人,将来的发展空间也是非常大的!

https://static001.geekbang.org/infoq/fd/fd386c4091e7c4b1267e5c1f8b1e3adc.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

「 数据结构与算法 」如何系统性的学习数据结构与算法

用户头像
小刘学编程
2023-02-15

知道有哪些常用的数据结构和算法; 能够写出高性能的底层轮子; 知道如何进行复杂度分析、性能分析; 通过不断训练,具备“算法思维”,提高分析和解决实际问题的能力... 能够自如地应付大厂面试

学习算法必备的《程序员代码面试指南》免费领取啦!!

用户头像
小小怪下士
2023-02-11

这是一本程序员代码面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一痛点,本书选取将近200道真实出现过的经典代码面试题,帮助广大程序员做充分的面试准备。“刷”完本书后,你就

有位大牛终于把珍藏多年的算法视频给分享出来了,总共 3.81G

大厂面试都开始问算法了,要是你不会算法只能与大厂失之交臂。为了解决大家算法方面的缺失,小编特此分享算法的学习路线和学习视频,希望大家能够喜欢!!!

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【Go】力扣 - 剑指 Offer 第五天 - 二维数组中的查找

用户头像
陈明勇
2022-11-21

Go 语言,实现三种算法,在二维数组中的查找目标值。 在一个 n * m 的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第四天 - 0~n-1 中缺失的数字

用户头像
陈明勇
2022-11-20

一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 使用 Go 语言,根据二分法的特点,实现算法。

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第四天 - 在排序数组中查找数字

用户头像
陈明勇
2022-11-19

使用 Go 语言,根据二分查找法的特性,统计一个数字在排序数组中出现的次数。

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第四天 - 数组中重复的数字

用户头像
陈明勇
2022-11-18

找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第三天 - 左旋转字符串

用户头像
陈明勇
2022-11-17

本题需要将字符串前面的若干个字符转移到字符串的尾部,由于在 Go 语言中,字符串不可变,因此需要创建一个新的字符串去实现。实现的方法有多种,如字符串切片拼接、字符串遍历拼接和字节切片拼接。

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第三天 - 替换空格

用户头像
陈明勇
2022-11-17

使用 Go 语言实现一个函数,把字符串 s 中的每个空格替换成"%20"。

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第二天 - 复杂链表的复制

用户头像
陈明勇
2022-11-16

使用 Go 语言实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第二天 - 反转链表

用户头像
陈明勇
2022-11-16

使用 Go 语言定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第二天 - 从尾到头打印链表

用户头像
陈明勇
2022-11-16

使用 Go 语言输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第一天 - 用两个栈实现队列

用户头像
陈明勇
2022-11-15

使用 Go 语言用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )

https://static001.geekbang.org/infoq/61/61ea613bf9c4453be00a771b2337a79b.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

[力扣] 剑指 Offer 第一天 - 包含 min 函数的栈

用户头像
陈明勇
2022-11-15

使用 Go 语言实。定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。

字节内部大佬私藏的数据结构与算法刷题笔记,熬夜刷上头,太顶了

用户头像
程序知音
2022-11-09

从编程的角度来看,数据结构与算法几乎是最朴素的基础知识了,这是关,是每一个立志当好程序员的必经之路,不管你是想学C还是想学JAVA,不管你是想学面向过程,还是面向对象,不管你是想当架构师,还是想当DBA(一个没有良好算法底子的DBA差不多算是半个残废

https://static001.geekbang.org/infoq/6e/6e71aaf955a7f8b3691f54883985f872.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Go 容器之队列的几种实现方式

用户头像
宇宙之一粟
2022-11-02

队列是有序集合,遵循 FIFO (First in first out,即先进先出)排队方法的容器。添加操作发生在队列的尾部,移除操作则发生在头部。新元素从尾部进入队列,然后一直向前移动到头部,直到下一个被移除的元素。

数据结构与算法_数据结构与算法技术文章_InfoQ写作社区