<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Data Structures on Chinese Powered Labs</title><link>https://www.chinesepowered.com/categories/data-structures/</link><description>Recent content in Data Structures on Chinese Powered Labs</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 02 Jan 2023 09:08:06 +0000</lastBuildDate><atom:link href="https://www.chinesepowered.com/categories/data-structures/index.xml" rel="self" type="application/rss+xml"/><item><title>Quick Sort: A Complete Guide to the Divide-and-Conquer Sorting Algorithm</title><link>https://www.chinesepowered.com/tutorials/quick-sort/</link><pubDate>Mon, 02 Jan 2023 09:08:06 +0000</pubDate><guid>https://www.chinesepowered.com/tutorials/quick-sort/</guid><description>&lt;h2 id="introduction-to-quick-sort"&gt;
 Introduction to Quick Sort
 
 &lt;a class="anchor" href="#introduction-to-quick-sort"&gt;#&lt;/a&gt;
 
&lt;/h2&gt;
&lt;p&gt;Quick Sort is a highly efficient, comparison-based sorting algorithm that revolutionized the field of computer science when it was invented by British computer scientist Tony Hoare in 1959. As one of the most widely used sorting algorithms in practice, Quick Sort exemplifies the elegance and power of the divide-and-conquer paradigm in algorithm design.&lt;/p&gt;
&lt;p&gt;What makes Quick Sort particularly remarkable is its exceptional average-case performance. With an average time complexity of O(n log n), it often outperforms other O(n log n) algorithms like Merge Sort in real-world scenarios due to its excellent cache locality and in-place sorting capabilities. Despite having a worst-case time complexity of O(n²), Quick Sort&amp;rsquo;s practical efficiency has made it the default sorting algorithm in many programming language libraries and systems.&lt;/p&gt;</description></item><item><title>Depth First Search for Graphs in JavaScript</title><link>https://www.chinesepowered.com/tutorials/depth-first-search-graph-dfs-javascript/</link><pubDate>Wed, 07 Oct 2020 04:23:39 +0000</pubDate><guid>https://www.chinesepowered.com/tutorials/depth-first-search-graph-dfs-javascript/</guid><description>&lt;h2 id="introduction-to-graph-traversal"&gt;
 Introduction to Graph Traversal
 
 &lt;a class="anchor" href="#introduction-to-graph-traversal"&gt;#&lt;/a&gt;
 
&lt;/h2&gt;
&lt;p&gt;Depth First Search (DFS) is a fundamental graph traversal algorithm that explores as far as possible along each branch before backtracking. Unlike tree traversal where we have a clear hierarchical structure with left and right children, graphs present unique challenges: they can contain cycles, have multiple paths between nodes, and lack a defined root. This makes DFS for graphs both more complex and more versatile than its tree-based counterpart.&lt;/p&gt;</description></item></channel></rss>