Computer Science

1. Computer Science

properties


ID: adc765c5-ae57-47f0-b220-6450dbcabebb
CREATED:


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

1.1. Pipeline

properties


ID: 9c7d2d15-6d29-46d2-b6e9-e6b3670a6079
CREATED:


edges

wiki
-> GStreamer


1.2. Error Correction Codes

properties


ID: 08a0e9d0-870f-4e7a-b76c-dbcf4ac10f55
CREATED:


edges

wiki


1.3. Thread Pool

properties


ID: 1c09c413-4ece-462a-bdb1-4f306018a3b3
CREATED:


edges

wiki


1.4. Data Structure

properties


ID: 956cb941-dd29-4b70-b0f7-53ad71362ed0
CREATED:


1.4.1. Stack

properties


ID: 2b5b4c0a-c4e8-4d76-b71f-240d6707cb02
CREATED:


edges

Stack (abstract data type) - Wikipedia


1.4.2. Heap

properties


ID: e488f62d-462c-42fb-b62c-bf890e26499e
CREATED:


edges

wiki


  1. Fibonacci Heap
    properties


    ID: 762dd80b-bf45-4daa-b693-2f34f1a61d3f
    CREATED:


    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:


    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:


edges

Array (data structure) - Wikipedia
-> APL


  1. Vector
    properties


    ID: a4a6aff3-4fbd-4436-ba98-09299b5a1e41
    CREATED:


    edges

    wiki


  2. String
    properties


    ID: 1df49c20-99b1-4f0e-bbb9-6617b20810dc
    CREATED:


    edges

    wiki


1.4.4. Dictionary

properties


ID: 1336d625-e74f-42fd-b23c-292c07f9f029
CREATED:


edges

wiki


1.4.5. Hash Table

properties


ID: b0300e61-d29b-4df4-940d-31257bf6a5f6
CREATED:
AKA: Hash Map


edges

wiki


1.5. Symbolic Computation

properties


ID: 9c8b77f4-e67b-4470-b2d3-20e6d3807290
CREATED:


edges

wiki


1.5.1. Risch algorithm

properties


ID: a316971e-8f63-450e-b2d9-8ad89acaeaca
CREATED:


edges

wiki


1.6. Computability Theory

properties


ID: fc02e09e-c2d2-4275-844b-2e104d6b6554
CREATED:
AKA: Recursion Theory


edges

wiki


1.7. Information Theory

properties


ID: 60ab765c-7d94-43b8-adb1-fed951e87393
CREATED:


edges

wiki


1.8. Theoretical Computer Science

properties


ID: df8b8dc1-5495-46d9-9cf3-7ee6e966f600
CREATED:


edges

wiki


1.8.1. Algorithmic Information Theory

properties


ID: 695c0f61-3029-4ec0-a6a5-39a46a8885a2
CREATED:
AKA: AIT


edges

wiki


  1. Kolmogorov Complexity
    properties


    ID: 602cff40-8e74-4c4f-9baa-2c0d1bf5583f
    CREATED:


    edges

    wiki


2. Computer Graphics

properties


ID: c934b053-1f34-4b81-b63a-ccc7cde98b34
CREATED:


2.1. Rasterization

properties


ID: 959cc0bc-9021-465a-94f2-8314cc4ea07c
AKA: Rasterisation
CREATED:


edges

wiki


2.1.1. Anti-aliasing

properties


ID: 0cd94421-590f-4935-b992-6290f1862483
CREATED:


edges

wiki