<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Data Structure on wid's blog</title><link>https://wid-blog.github.io/en/tags/data-structure/</link><description>Recent content in Data Structure on wid's blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 04 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://wid-blog.github.io/en/tags/data-structure/index.xml" rel="self" type="application/rss+xml"/><item><title>Union-Find — Two Optimizations Make It Practically Constant</title><link>https://wid-blog.github.io/en/posts/tech/algorithm/union-find/</link><pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/tech/algorithm/union-find/</guid><description>Union-Find gives each group a root representative and decides whether two elements share a group. The unoptimized version stretches find to O(N) on chain trees; path compression and union by rank make it practically constant.</description></item></channel></rss>