Skip to content

Instantly share code, notes, and snippets.

View ccj5351's full-sized avatar
🎯
Focusing

Changjiang Cai ccj5351

🎯
Focusing
View GitHub Profile
Solutions of Leet Code questions.
@ccj5351
ccj5351 / build-a-heap-with-O(n)-time-complexity.md
Last active September 29, 2024 00:24
build-a-heap-O(n)-time

How can building a heap be O(n) time complexity?

Several highly voted answers have given excellent explanations. I will show several figures to show the proof clearly and hope it is easy to understand.

Height of a Heap

The height of heap h = O(log(N)), where N is the number of (internal) nodes.

Note: ◯ for internal nodes, and □ for external nodes or leaf nodes; values are only saved at internal nodes.
@ccj5351
ccj5351 / llm-wiki.md
Created April 5, 2026 12:56 — forked from karpathy/llm-wiki.md
llm-wiki

LLM Wiki

A pattern for building personal knowledge bases using LLMs.

This is an idea file, it is designed to be copy pasted to your own LLM Agent (e.g. OpenAI Codex, Claude Code, OpenCode / Pi, or etc.). Its goal is to communicate the high level idea, but your agent will build out the specifics in collaboration with you.

The core idea

Most people's experience with LLMs and documents looks like RAG: you upload a collection of files, the LLM retrieves relevant chunks at query time, and generates an answer. This works, but the LLM is rediscovering knowledge from scratch on every question. There's no accumulation. Ask a subtle question that requires synthesizing five documents, and the LLM has to find and piece together the relevant fragments every time. Nothing is built up. NotebookLM, ChatGPT file uploads, and most RAG systems work this way.