<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Data Structure on Massimo Nocentini</title><link>https://massimo-nocentini.github.io/categories/data-structure/</link><description>Recent content in Data Structure on Massimo Nocentini</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 12 Nov 2026 10:30:00 +0100</lastBuildDate><atom:link href="https://massimo-nocentini.github.io/categories/data-structure/index.xml" rel="self" type="application/rss+xml"/><item><title>Comprehensive Guide to Bottom-$k$ Sketches</title><link>https://massimo-nocentini.github.io/post/bottom-k-sketches/</link><pubDate>Thu, 12 Nov 2026 10:30:00 +0100</pubDate><dc:creator>Massimo Nocentini</dc:creator><guid>https://massimo-nocentini.github.io/post/bottom-k-sketches/</guid></item><item><title>The SBRAL data structure</title><link>https://massimo-nocentini.github.io/post/sbral/</link><pubDate>Fri, 10 Apr 2026 09:58:04 +0100</pubDate><dc:creator>Massimo Nocentini</dc:creator><guid>https://massimo-nocentini.github.io/post/sbral/</guid><description>&lt;p&gt;We describe a CHICKEN Scheme implementation of &lt;em&gt;skew binary random-access lists&lt;/em&gt;&#10;(SBRALs), a purely functional data structure that provides &lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;O(1)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class="katex-html" aria-hidden="true"&gt;&lt;span class="katex-base"&gt;&lt;span class="katex-strut" style="height:1em;vertical-align:-0.25em;"&gt;&lt;/span&gt;&lt;span class="mord mathnormal" style="margin-right:0.0278em;"&gt;O&lt;/span&gt;&lt;span class="mopen"&gt;(&lt;/span&gt;&lt;span class="mord"&gt;1&lt;/span&gt;&lt;span class="mclose"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; worst-case&#10;&lt;code&gt;cons&lt;/code&gt;, &lt;code&gt;car&lt;/code&gt;, and &lt;code&gt;cdr&lt;/code&gt; at the front while supporting &lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;log&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;O(\log n)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class="katex-html" aria-hidden="true"&gt;&lt;span class="katex-base"&gt;&lt;span class="katex-strut" style="height:1em;vertical-align:-0.25em;"&gt;&lt;/span&gt;&lt;span class="mord mathnormal" style="margin-right:0.0278em;"&gt;O&lt;/span&gt;&lt;span class="mopen"&gt;(&lt;/span&gt;&lt;span class="mop"&gt;lo&lt;span style="margin-right:0.0139em;"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace" style="margin-right:0.1667em;"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;n&lt;/span&gt;&lt;span class="mclose"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; indexed&#10;lookup and persistent update. The module &lt;code&gt;(aux fds sbral)&lt;/code&gt; realises the&#10;structure as a list of weight-annotated complete binary trees whose sizes follow&#10;the skew binary number system. We present the representation, walk through&#10;every exported definition, give complexity bounds, and illustrate the invariants&#10;with a concrete trace drawn from the accompanying test suite.&lt;/p&gt;</description></item></channel></rss>