V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
YadongZhang
V2EX  ›  职场话题

新年感悟 - 算法篇

  •  
  •   YadongZhang · 2023-01-30 09:44:24 +08:00 · 1806 次点击
    这是一个创建于 670 天前的主题,其中的信息可能已经有所发展或是发生改变。

    算法导论对我的作用和 Wikipedia 一样,方便找伪代码。 算法导论目录

    有人可能会问,前端开发工程师只要会用 js sort 就行,哪怕不知道其实现都行( v8 采用 TimSort 和 quick sort ,Firefox 使用 merge sort )。

    但是如果我需要根据用户输入的数字,随时返回一个区间,这个时候就可以维护一个 HashSet ,但是每次获取区间对 set 内部数字排序的话开销太大,所以需要一个 OrderedSet 。

    C++ 标准库里的 set (或者 Java TreeSet )就具有这样属性,C++ 两个权威参考网站观点不同,一个说是 binary search tree 实现的,另一个说是 red-black tree 实现。

    我不会 c++,不管哪种数据结构。而且 js 没有内置这种 set ,这时候就需要自己实现,所以得看伪码描述了。

    更何况我想在这个行业多干几年,先不说理解算法思想,熟悉算法导论里介绍的数据结构和算法应该不为过(注意,读过算法导论并不代表知道多少)

    当然,算法能力只是一方面,前端工程师可能还需要工程化能力

    年轻人不管是不是工程师,读一下最近几次诺贝尔经济学奖得主在行为经济学方面的书籍,还是很有必要的

    3 条回复    2023-01-30 11:28:20 +08:00
    dxcqcv
        1
    dxcqcv  
       2023-01-30 10:34:30 +08:00
    请教,你是怎么知道 ”v8 采用 TimSort 和 quick sort ,Firefox 使用 merge sort“的?你的图是算法导论网站?
    tserial
        2
    tserial  
       2023-01-30 10:38:48 +08:00 via iPhone
    最后一句亮了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2711 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:23 · PVG 20:23 · LAX 04:23 · JFK 07:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.