Ftreap
Order Statistic Tree based on :herb: Treap data structure.
Install / Use
/learn @JulStrat/FtreapREADME
ftreap
Order statistic tree based on Treap data structure and
powerful Implicit Treap for interval operations.
Compact ObjectPascal generic class TTreapNode and generic class TImplicitTreapNode.
See Wiki for more info.
Motivation
Why another treap implementation? The story begins from the SPOJ problem ALLIN1.
All accepted solutions was in C/C++ and one in D-DMD. I asked myself - why not Pascal?
My first attempt was based on records (mode DELPHI) - time 2.28s.
After reading Michalis Kamburelis excellent Modern Object Pascal Introduction for Programmers I started ftreap.
So, here we are.
Benchmarks
Here some testing results on IDEONE.
| Method \ Number of keys | 100000 | 200000 | 400000 | 800000 | 1600000 | | ----------------------- | ------ | ------ | ------ | ------ | ------- | | Insert | 0.08s | 0.19s | 0.42s | 1.06s | 2.58s |
FTREAP vs FCL-STL gset.
Built With
- Lazarus - The professional Free Pascal RAD IDE.
- PasDoc - Documentation tool for ObjectPascal (Free Pascal, Lazarus, Delphi).
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
