V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
forgottenPerson
V2EX  ›  问与答

你遇见过的最 simple 或者最有意思的算法和数据结构

  •  
  •   forgottenPerson · 8 小时 48 分钟前 via Android · 692 次点击

    simple 指的不一定是代码量越少越好

    最有意思指的是给你一种恍然大悟这也能行的感觉以及你感受到的美,美包括奇妙的思路以及时间以及空间复杂度达到你认为的 trade-off,或者有很高的实用价值以及你觉得有趣的。

    9 条回复    2025-01-31 21:09:31 +08:00
    easing
        1
    easing  
       8 小时 42 分钟前 via iPhone   ❤️ 1
    并查集
    coderluan
        2
    coderluan  
       8 小时 23 分钟前
    想到本书《短码之美》,对程序员来说算是邪典了,真正的“防御性”编程。
    wangritian
        3
    wangritian  
       8 小时 3 分钟前
    一堆数字两两成对相同,找唯一独立:异或
    git00ll
        4
    git00ll  
       8 小时 0 分钟前   ❤️ 1
    ```
    这里有一个使用 map 做去重的,我觉得比较巧妙
    datas.stream().filter(distinctByKey(s -> s.getRequestNo())).forEach(v -> {
    doSomeThing(v);
    });

    static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
    Map<Object, Boolean> seen = new ConcurrentHashMap<>();
    return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
    }

    ```
    r6cb
        5
    r6cb  
       6 小时 18 分钟前
    SPFA
    xtreme1
        6
    xtreme1  
       6 小时 11 分钟前
    splay
    nicktogo
        7
    nicktogo  
       5 小时 21 分钟前 via iPhone
    快排的 partition
    yukino
        8
    yukino  
       4 小时 32 分钟前
    Cosplay 快排

    quicksort [] = []
    quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
    where
    lesser = filter (< p) xs
    greater = filter (>= p) xs
    shui14
        9
    shui14  
       35 分钟前
    蒙特卡洛
    几年前我被一个 SDWAN 产品上的网络拓扑卡了半个月,某天早上突发灵感,利用概率模型来延迟计算,它非常反常识
    后来搓 gis 引擎时,流行混合延迟渲染自定义管线,成了常客
    现在流行的 webgpu ,路径追踪和光追,来了,老弟
    尽管多次重逢,永远没有第一次那样令人激动,算是自己原创,不管别人的方案是不是,但是我的自己想出来的。后面这些算是行业内的成熟方法论,但是对于我,如同一位故友,每每相逢一笑
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2071 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 13:44 · PVG 21:44 · LAX 05:44 · JFK 08:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.