Computer Science

1. Computer Science

properties ID: adc765c5-ae57-47f0-b220-6450dbcabebb
CREATED: <2025-02-28 Fri 18:56>

:EDGES: Theory of computation - Wikipedia Theoretical computer science - Wikipedia

1.1. Pipeline

properties ID: 9c7d2d15-6d29-46d2-b6e9-e6b3670a6079
CREATED: <2025-04-14 Mon 20:43>
edges

wiki
-> GStreamer


1.2. Error Correction Codes

properties ID: 08a0e9d0-870f-4e7a-b76c-dbcf4ac10f55
CREATED: <2025-05-07 Wed 17:03>
edges

wiki


1.3. Thread Pool

properties ID: 1c09c413-4ece-462a-bdb1-4f306018a3b3
CREATED: <2025-05-07 Wed 17:04>
edges

wiki


1.4. Data Structure

properties ID: 956cb941-dd29-4b70-b0f7-53ad71362ed0
CREATED: <2025-02-28 Fri 19:19>

1.4.1. Stack

properties ID: 2b5b4c0a-c4e8-4d76-b71f-240d6707cb02
CREATED: <2025-02-28 Fri 19:18>
edges

Stack (abstract data type) - Wikipedia


1.4.2. Heap

properties ID: e488f62d-462c-42fb-b62c-bf890e26499e
CREATED: <2025-05-07 Wed 17:05>
edges

wiki


  1. Fibonacci Heap
    properties ID: 762dd80b-bf45-4daa-b693-2f34f1a61d3f
    CREATED: <2025-12-31 Wed 20:24>
    edges

    wiki
    -> Dijkstra's Algorithm


    • A collection of trees satisfying the minimum-heap property:
      • The key of a child is always greater than or equal to the key of a parent. The minimum element is always at the root of one of the trees.
    • used as a min-priority queue
      • an abstract data type that provides 3 basic operations: add_with_priority(), decrease_priority() and extract_min().
    • typically used to implement the priority queue element of Dijkrsta's algorithm
    • While Fibonacci heaps have very good theoretical complexities, in practice, other heap types such as pairing heaps are faster. This is because even in the simplest implementation, Fibonacci heaps require four pointers for each node, other heaps need two or three.

    Compared with binomial heaps, the structure of a Fibonacci heap is more flexible. The trees do not have a prescribed shape and in the extreme case the heap can have every element in a separate tree. This flexibility allows some operations to be executed in a lazy manner, postponing the work for later operations. For example, merging heaps is done simply by concatenating the two lists of trees, and operation decrease key sometimes cuts a node from its parent and forms a new tree.

    • amortized runtime analysis performed on potential value given by: φ = t+2m
      • where t is the number of trees and m is the number of marked nodes
    • Operations
      • find-min O(1)
      • merge O(1)
      • insert O(1)
      • delete-min O(log n)
      • decrease-key O(k) + c(-k + 4)
        • where k is the number of new trees inserted during the series of cascading cuts

    Although the total running time of a sequence of operations starting with an empty structure is bounded by the bounds given above, some (very few) operations in the sequence can take very long to complete (in particular, delete-min has linear running time in the worst case). For this reason, Fibonacci heaps and other amortized data structures may not be appropriate for real-time systems.

    • [1403.0252] A Back-to-Basics Empirical Study of Priority Queues
      • Recent experimental results suggest that the Fibonacci heap is more efficient in practice than most of its later derivatives, including quake heaps, violation heaps, strict Fibonacci heaps, and rank pairing heaps, but less efficient than pairing heaps or array-based heaps.
  2. Brodal Queue
    properties ID: db309f05-7563-47a6-8205-901e4be3f68a
    CREATED: <2025-12-31 Wed 20:42>
    edges

    wiki


    • O(1) for insertion, find-minimum, meld (merge two queues) and decrease-key
    • O(log(n)) for delete-minimum and general deletion.
    • First heap variant to achieve these bounds without resorting to amortization of operational costs.

1.4.3. Array

properties ID: 825b2467-a397-4fcc-83b6-c3397e9cc091
CREATED: <2025-02-28 Fri 19:20>
edges

Array (data structure) - Wikipedia
-> APL


  1. Vector
    properties ID: a4a6aff3-4fbd-4436-ba98-09299b5a1e41
    CREATED: <2025-05-07 Wed 17:02>
    edges

    wiki


  2. String
    properties ID: 1df49c20-99b1-4f0e-bbb9-6617b20810dc
    CREATED: <2025-05-07 Wed 17:02>
    edges

    wiki


1.4.4. Dictionary

properties ID: 1336d625-e74f-42fd-b23c-292c07f9f029
CREATED: <2025-05-07 Wed 17:11>
edges

wiki


1.4.5. Hash Table

properties ID: b0300e61-d29b-4df4-940d-31257bf6a5f6
CREATED: <2025-05-07 Wed 17:02>
AKA: Hash Map
edges

wiki


1.5. Symbolic Computation

properties ID: 9c8b77f4-e67b-4470-b2d3-20e6d3807290
CREATED: <2025-05-08 Thu 19:58>
edges

wiki


1.5.1. Risch algorithm

properties ID: a316971e-8f63-450e-b2d9-8ad89acaeaca
CREATED: <2025-05-08 Thu 19:58>
edges

wiki


1.6. Computability Theory

properties ID: fc02e09e-c2d2-4275-844b-2e104d6b6554
CREATED: <2025-05-18 Sun 16:47>
AKA: Recursion Theory
edges

wiki


1.7. Information Theory

properties ID: 60ab765c-7d94-43b8-adb1-fed951e87393
CREATED: <2025-05-18 Sun 16:46>
edges

wiki


1.8. Theoretical Computer Science

properties ID: df8b8dc1-5495-46d9-9cf3-7ee6e966f600
CREATED: <2025-05-18 Sun 16:41>
edges

wiki


1.8.1. Algorithmic Information Theory

properties ID: 695c0f61-3029-4ec0-a6a5-39a46a8885a2
CREATED: <2025-05-18 Sun 16:41>
AKA: AIT
edges

wiki


  1. Kolmogorov Complexity
    properties ID: 602cff40-8e74-4c4f-9baa-2c0d1bf5583f
    CREATED: <2025-05-18 Sun 16:43>
    edges

    wiki


2. Computer Graphics

properties ID: c934b053-1f34-4b81-b63a-ccc7cde98b34
CREATED: <2025-06-28 Sat 15:46>

2.1. Rasterization

properties ID: 959cc0bc-9021-465a-94f2-8314cc4ea07c
AKA: Rasterisation
CREATED: <2025-06-28 Sat 15:46>
edges

wiki


2.1.1. Anti-aliasing

properties ID: 0cd94421-590f-4935-b992-6290f1862483
CREATED: <2025-06-28 Sat 15:47>
edges

wiki