书栈网 · BookStack 本次搜索耗时 0.033 秒,为您找到 71 个相关结果.
  • Union-Find算法详解

    Union-Find算法详解 一、问题介绍 二、基本思路 三、平衡性优化 四、路径压缩 五、最后总结 Union-Find算法详解 今天讲讲 Union-Find 算法,也就是常说的并查集算法,主要是解决图论中「动态连通性」问题的。名词很高端,其实特别好理解,等会解释,另外这个算法的应用都非常有趣。 说起这个 Union-Find,应该算...
  • 拆解复杂问题:实现计算器

    拆解复杂问题:实现计算器 一、字符串转整数 二、处理加减法 三、处理乘除法 四、处理括号 五、最后总结 拆解复杂问题:实现计算器 我们最终要实现的计算器功能如下: 1、输入一个字符串,可以包含+ - * / 、数字、括号以及空格,你的算法返回运算结构。 2、要符合运算法则,括号的优先级最高,先乘除后加减。 3、除号是整数除法,无论正负...
  • Linux的进程、线程、文件描述符是什么

    Linux的进程、线程、文件描述符是什么 一、进程是什么 二、文件描述符是什么 三、线程是什么 Linux的进程、线程、文件描述符是什么 说到进程,恐怕面试中最常见的问题就是线程和进程的关系了,那么先说一下答案:在 Linux 系统中,进程和线程几乎没有区别 。 Linux 中的进程就是一个数据结构,看明白就可以理解文件描述符、重定向、管道命...
  • 算法学习之路

    算法学习之路 算法学习之路 之前发的那篇关于框架性思维的文章,我也发到了不少其他圈子,受到了大家的普遍好评,这一点我真的没想到,首先感谢大家的认可,我会更加努力,写出通俗易懂的算法文章。 有很多朋友问我数据结构和算法到底该怎么学,尤其是很多朋友说自己是「小白」,感觉这些东西好难啊,就算看了之前的「框架思维」,也感觉自己刷题乏力,希望我能聊聊我从一个...
  • 设计Twitter

    设计Twitter 一、题目及应用场景简介 二、面向对象设计 三、算法设计 四、最后总结 设计Twitter 「design Twitter」是 LeetCode 上第 335 道题目,不仅题目本身很有意思,而且把合并多个有序链表的算法和面向对象设计(OO design)结合起来了,很有实际意义,本文就带大家来看看这道题。 至于 Twitt...
  • 如何调度考生的座位

    如何调度考生的座位 一、思路分析 二、简化问题 三、进阶问题 四、最后总结 如何调度考生的座位 这是 LeetCode 第 885 题,有趣且具有一定技巧性。这种题目并不像动态规划这类算法拼智商,而是看你对常用数据结构的理解和写代码的水平,个人认为值得重视和学习。 另外说句题外话,很多读者都问,算法框架是如何总结出来的,其实框架反而是慢慢从...
  • Union-Find算法应用

    Union-Find算法应用 一、DFS 的替代方案 二、判定合法等式 三、简单总结 Union-Find算法应用 上篇文章很多读者对于 Union-Find 算法的应用表示很感兴趣,这篇文章就拿几道 LeetCode 题目来讲讲这个算法的巧妙用法。 首先,复习一下,Union-Find 算法解决的是图的动态连通性问题,这个算法本身不难,能不...
  • 如何计算编辑距离

    编辑距离 一、思路 二、代码详解 三、动态规划优化 三、扩展延伸 编辑距离 前几天看了一份鹅场的面试题,算法部分大半是动态规划,最后一题就是写一个计算编辑距离的函数,今天就专门写一篇文章来探讨一下这个问题。 我个人很喜欢编辑距离这个问题,因为它看起来十分困难,解法却出奇得简单漂亮,而且它是少有的比较实用的算法(是的,我承认很多算法问题都不太...
  • 回溯算法详解

    回溯算法详解 一、全排列问题 二、N 皇后问题 三、最后总结 回溯算法详解 这篇文章是很久之前的一篇《回溯算法详解》的进阶版,之前那篇不够清楚,就不必看了,看这篇就行。把框架给你讲清楚,你会发现回溯算法问题都是一个套路。 废话不多说,直接上回溯算法框架。解决一个回溯问题,实际上就是一个决策树的遍历过程 。你只需要思考 3 个问题: 1、路径...
  • 一文看懂 session 和 cookie

    一、session 和 cookie 简介 二、session 的实现 cookie 大家应该都熟悉,比如说登录某些网站一段时间后,就要求你重新登录;再比如有的同学很喜欢玩爬虫技术,有时候网站就是可以拦截住你的爬虫,这些都和 cookie 有关。如果你明白了服务器后端对于 cookie 和 session 的处理逻辑,就可以解释这些现象,甚至钻一些空子...