Trie Data Structure Explained — Implementation in C++ with Applications
Prefix lookups that scale with the prefix, not the dictionary — and the memory bill that pays for them, measured on 76,226 words.
Computer science is the intellectual foundation beneath every line of code you write. While programming teaches you how to instruct a computer, computer science teaches you why certain approaches work better than others — why one algorithm processes a million records in seconds while another takes hours, why the right data structure makes the difference between elegant and unworkable code, and why the principles of object-oriented design produce software that survives contact with the real world.
MYCPLUS has been publishing computer science tutorials and practical programming guides since 2004, building a comprehensive resource covering the core theoretical and applied topics that every serious programmer needs to understand. This Computer Science hub brings together four interconnected areas of study — Algorithms, Data Structures, Object-Oriented Programming and Programming Styles — each with its own dedicated section of in-depth tutorials, practical examples and working source code.
Tis section gives you the theoretical understanding and hands-on programming experience to write better software, solve harder problems and think more clearly about how programs work. Whether you are studying for exams, preparing for technical interviews or simply becoming a stronger programmer — start here.
Explore the four core areas covered in this section:
→ Algorithms — sorting, searching, graph traversal and optimisation
→ Data Structures — arrays, linked lists, trees, stacks and graphs
→ Object-Oriented Programming — classes, inheritance and polymorphism
→ Programming Styles — procedural, functional and declarative paradigms
Why MYCPLUS: Trusted by programmers and computer science students since 2004 — MYCPLUS covers all four core computer science disciplines in one place, with practical implementations in C, C++ and Java designed for both academic study and real-world software development.
Prefix lookups that scale with the prefix, not the dictionary — and the memory bill that pays for them, measured on 76,226 words.
Four ways to compute Fibonacci numbers in C and C++, with measured call counts and the exact term at which each integer type stops being correct.
Kruskal’s algorithm builds a minimum spanning tree by sorting edges and rejecting cycles with union-find. Tested C, C++, and Python code included.
A linked list in C chains heap-allocated nodes through pointers. Build one completely: all operations, complexity analysis and a tested full program.
Binary Decision Diagrams compress Boolean functions into compact graphs used in verification and circuit design. This guide covers reduction rules, ROBDDs, a C example, and applications.
Coding competitions are the fastest way to sharpen your problem-solving skills. Here are the best competitive programming platforms and contests to enter in 2026, for every level.
In a lot of programs my gensort-utility turned out to be very useful. It consists simply of the header file
The big sort routine implements a way to sort huge amounts of data using C programming language. It sorts the data that do not fit into main memory by using a multi-phase sorting on files. It is a implementation from the book “Algorithms and data structures” by Niklaus Wirth. Additionally, this routine recognizes small amounts of data that do fit into memory and resorts to a in-place quicksort.
Stanford Engineering Everywhere (SEE) offers few computer science courses to students online and at no charge. Programming Abstractions course covers advanced programming topics such as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java.
Delve into the fundamentals of data structures and algorithms with Data Structures and Algorithm Analysis in Java. This comprehensive guide focuses on performance optimization, scalability, and real-world Java implementations. From sorting to dynamic programming, it equips developers with the tools to build efficient, high-performance applications. A must-read for students and professionals seeking to master Java’s capabilities in solving complex computational problems.
Master efficient coding with Data Structures and Algorithm Analysis in C++ – your ultimate guide to building high-performance software solutions!
This document is a result of a committee formed at Indian Hill to establish a common set of coding standards and recommendations for the Indian Hill community. The scope of this work is the coding style, not the functional organization of programs. The standards in this document are not specific to ESS programming only.