Newbie to Newbie Data Structure and Algorithm Analysis

 



Author John William (2020) defines algorithms as a  “self-contained step-by-step set of operations to be performed. Algorithms perform the calculation, data processing, and automated reasoning tasks” When applying algorithm design techniques in developing structure programs, we can take flying drones as an example. The program consists of instructions we code for the drone to perform certain functions and maneuvers, like taking off, setting speed, flying up at a certain distance, making left or right turns, rotating, flip duration, and much more. The list of instructions could be thousands of data/code, and we need to deal. See picture 1.0

Pictures 1.0 Data Structure

What exactly is an algorithm? Algorithms explained | BBC Ideas


Author John William (2020) describes data structure as a “defined and orderly set of data, arranged to make a process easier to follow. The store objects and allow their manipulation based on the two different types”, Linear and Non-Linear. Data could be anything, for example, several Tweets, and from these tweets, we determine which tweets will be on top of the list, so algorithms calculate based on the number of features, including which tweets go on top of the list and which goes on the bottom of the list. The basis of the algorithm is data goes in, goes through instructions, results come out. 


To understand Data structure techniques in developing structure programs. We first need to understand compound data; the data must be stored in some data structure, and choosing the right one is very important. Each data structure is meant for certain programs to run efficiently without flaws. The way we measure how good a data structure is, is by doing a specific thing, like adding a new item .add(), retrieving an item .get() sorting .sort() or searching .search(), this is called the big O notation. The big O measures how well an operation scales; if you add ten items and add a million more, how much longer will each operation take? 


A Linked list is one type of data structure, the unit of a linked list is a node, which contains a value and a pointer. An Array is more common in most programming languages; it is a continuous block of cells in the computer memory. Arrays are good for retrieving items, but as the list keeps growing, we might have to move our array to a new place to fit. The Hash table is another type of data structure; it is considered an Object {} in Java. Stack and Queue are other types of data structures that go together. The stack is Last in First Out; think of cafeteria trays; the last one you put on top is the first one out. Stacks are important because they support depth-first search, which is an algorithm, you run into a lot. The Queue, on the other hand, is First in, First Out. 

Graphs and Trees are other important data structure algorithm techniques. Graphs have nodes pointing to other nodes, and the pointers are called edges; edges can have weights or numbers assigned to them.


The Binary search tree has specific rules, but it allows us to search efficiently. Each node can have a maximum of two children, left and right. The left has to be less than the node, and the right has to be more. With these rules in place, we can traverse through our tree and always know where an element is. Author John William (2020) describes data structure as a “defined and orderly set of data, arranged to make a process easier to follow. The store objects and allow their manipulation based on the two different types”, Linear and Non-Linear. Data could be anything, for example, several Tweets, and from these tweets, we determine which tweets will be on top of the list, so algorithms calculate based on the number of features, including which tweets go on top of the list and which goes on the bottom of the list. The basis of the algorithm is data goes in, goes through instructions, results come out. 


 See Picture 2.0 



Picture 2.0  Binary Search Tree-Data Structure

https://www.youtube.com/watch?v=sVxBVvlnJsM




Author John William (2020), states the benefits of learning data structure and algorithms as:

  • To write the logical statement

  • To structure the desired data collection process

  • To develop the program process & get desired results

  • How do you go about fixing the problem?

  • For troubleshooting the codes

 






 

References

John William 2020, Why Do Programmers Need To Focus On Data Structure & Algorithms

https://www.uniwebb.com/blog/post/why-do-programmers-need-to-focus-on-data-structure--algorithms/1780/