Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting Started With Data Structures

Getting Started With Data Structures

Adora Nwodo

July 29, 2022
Tweet

More Decks by Adora Nwodo

Other Decks in Programming

Transcript

  1. A data structure is a particular way of organizing data

    in a computer so that it can be used effectively. @adoranwodo
  2. Arrays Linked Lists Stacks Queues Binary Trees Binary Search Trees

    @adoranwodo Heaps Hash Tables Graphs Matrices Tries B-Trees N-ary Trees
  3. ★ Arrays are zero indexed. This means that an array

    with n elements is indexed from 0 to n-1. ★ An array has a fixed size. When creating an array, you specify the number of elements the array has. That’s it’s size. ★ Arrays are mutable. Meaning their state or data can be changed. @adoranwodo
  4. var numbers = new int[] {12 , 8, 5, 78};

    @adoranwodo 12 8 78 5 0 1 2 3
  5. When we make an API request to fetch data, ife

    we are getting more than one record, they will usually be returned as a JSON array. When we get the valid JSON array as a response, we can perform whatever action we want on the data. @adoranwodo API RESPONSES REAL LIFE USES OF ARRAYS /* The example below shows looping through a valid API response and printing out the data */ var response = GetAllPendingTransactions(); foreach (var transaction in response) { Console.WriteLine(transaction.Id); Console.WriteLine(transaction.Description); }
  6. Since 2 dimensional arrays are represented as rows & columns

    and matrices are also represented as rows and columns, we can represent matrices as 2 dimensional arrays while programming. Consider the 3x3 matrix below: 2 9 4 0 7 8 3 5 1 It’s equivalent 2d array representation will be: @adoranwodo REPRESENTING MATRICES REAL LIFE USES OF ARRAYS var matrix = new int[3, 3] { // Row 0 { 2 , 9, 4 }, // Row 1 { 0 , 7, 8 }, // Row 2 { 3 , 5, 1 }, }
  7. Generally, arrays are used for storing all sorts of data

    ranging from data from a server, to data in the applications memory and so on. Depending on what your apps logic is, you might need to store a list of things at some point and arrays are one of the most common data structures that exist for this scenario. This data can exist: ★ In your applications memory ★ On a backend database ★ In a cache somewhere ★ In a file on a computer @adoranwodo STORING DATA REAL LIFE USES OF ARRAYS
  8. A linked list is a data structure whose order of

    elements is not by their physical placement in memory. Instead, each element has a reference to the next element. @adoranwodo Element 1 Element 2 Element 3 NULL
  9. Each element or node in a linked list has these

    fields. ❖ Data field: This field contains the data that is contained in the node. The programmer can store whatever data they want here, based on what their logic is. ❖ Reference field: This field contains the reference to the next (or previous) node in the sequence depending on the type of linked list. @adoranwodo 45 NODE B NODE A Data Next Ref 10 NODE C NODE B Data Next Ref 200 NODE C Data Next Ref
  10. Types of Linked Lists The differences in Linked Lists are

    based on the multiple types of references possible: ❖ Singly Linked Lists ❖ Doubly Linked Lists ❖ Circular Linked Lists @adoranwodo
  11. In a Singly Linked List, you are only allowed to

    have a “Next” reference. What this means is that you have one reference field that points to the next element in the sequence. @adoranwodo 45 10 200 NULL 45 NODE B NODE A Data Next Ref 10 NODE C NODE B Data Next Ref 200 NODE C Data Next Ref
  12. In a Doubly Linked List, you are allowed to have

    two (double) references. One is a next reference and the other, a previous reference. What this means is that you have two reference fields where one points to the next element in the sequence and the other points to the previous element @adoranwodo 45 NODE B NODE A Data Next Reference 10 NODE C NODE B 200 NODE C 45 10 200 NULL Previous Reference NODE A Data Next Reference Previous Reference Data Next Reference Previous Reference NODE B
  13. In a Circular Linked List, you are allowed to have

    two (double) references. One is a next reference and the other, a previous reference. What this means is that you have two reference fields where one points to the next element in the sequence and the other points to the previous element @adoranwodo 45 NODE B NODE A Data Next Reference 10 NODE C NODE B 200 NODE C 45 10 200 Previous Reference NODE A Data Next Reference Previous Reference Data Next Reference Previous Reference NODE B NODE C NODE A
  14. Hash Table is a data structure which stores data in

    an associative manner. In a hash table, data is stored in an array format, where each data value has its own unique index value. Access of data becomes very fast if we know the index of the desired data. @adoranwodo
  15. What is Hashing? Hashing is a technique to convert a

    range of key values into a range of indexes of an array. @adoranwodo
  16. What do you do when you don’t know the answer

    to an interview question? @adoranwodo
  17. What do you do when you don’t know the answer

    to an interview question? USE A HASHMAP @adoranwodo