Beej's Bit Bucketa day agohttp://beej.us/blog/data/dijkstras-shortest-path/迪杰斯特拉算法用于在具有非负边权的图中寻找节点之间的最短路径。该算法维护一个未访问城市的集合,除起点距离设为0外,其余距离初始化为无穷大。它反复选择已知距离最小的未访问城市,并松弛其相邻城市。若通过当前城市找到更短的路径,松弛操作会更新邻居的距离和父指针。到达目标后,父指针可回溯出从起点出发的最短路径。该算法无法处理负边权,因为它假设后续不会找到更短的路径。边权可根据现实约束进行调整,例如轮渡路线、自行车道或陡峭道路。
Orasort: 5x faster column-sorting with an expired patent from Oracle23 days agohttps://deepsystemstuff.com/how-oracles-secret-column-sorting-technique-became-p...Oracle 公司专有的 Orasort 算法专利已于 2024 年到期,结束了 20 年的专利保护期,进入公有领域。Orasort 通过使用 8 字节 CPU 寄存器进行比较,而非传统的逐字符(1字节)方法,从而提高了排序速度,减少了 CPU 周期消耗。该算法有益于如 MySQL 和 PostgreSQL 等开源数据库,并通过提升效率降低了云计算运营成本。Orasort 的工作原理是将键值提取并归一化为 64 位整数进行比较,并通过磁盘分区和异步写入来处理大型数据集。