Summary Session 4 Data Structures

For this meeting the main material is introduction of tree in data structures and this material is lectured by miss rulyna .

TREE
A tree data structure can be defined recursively (locally) as a collection of nodes (starting at a root node), where each node is a data structure consisting of a value, together with a list of references to nodes (the “children”), with the constraints that no reference is duplicated, and none points to the root.

EXP:

image

Terminologies used in Trees

Path − Path refers to sequence of nodes along the edges of a tree.

Root − Node at the top of the tree is called root. There is only one root per tree and one path from root node to any node.

Parent − Any node except root node has one edge upward to a node called parent.

Child − Node below a given node connected by its edge downward is called its child node.

Leaf − Node which does not have any child node is called leaf node.

Subtree − Subtree represents descendents of a node.

Visiting − Visiting refers to checking value of a node when control is on the node.

Traversing − Traversing means passing through nodes in a specific order.

Levels − Level of a node represents the generation of a node. If root node is at level 0, then its next child node is at level 1, its grandchild is at level 2 and so on.

keys − Key represents a value of a node based on which a search operation is to be carried out for a node.

HOW TO DETERMINE

2^k = Is to determine the nodes can be fit in a tree.

n-1= Is to determine the max number of level in a tree(n=nodes).

2log(n)= Is to determine  the max number of level in a tree(n=nodes).

2^kh-1= Is to determine max number of nodes in a tree.

BINARY TREE

A binary tree is made of nodes, where each node contains a “left” pointer, a “right” pointer, and a data element. The “root” pointer points to the topmost node in the tree. The left and right pointers recursively point to smaller “subtrees” on either side. A null pointer represents a binary tree with no elements — the empty tree. The formal recursive definition is: a binary tree is either empty (represented by a null pointer), or is made of a single node, where the left and right pointers (recursive definition ahead) each point to a binary tree.

binary tree is a tree data structure in which each node has at most two children, which are referred to as the left child and the right child. A recursive definition using just set theory notions is that a (non-empty) binary tree is a triple (L, S, R), where L and R are binary trees or the empty set and S is a singleton set.

EXP

image

 

 

 

 

 

 

 

 

 

Summary Session 3 Data Structures

This third meeting the material will be hosted by pa sky . The main topic of today meeting is linked list 2 .

Linked List

Linked list is a linear collection of data elements, called nodes pointing to the next node by means of pointer. It is a data structure consisting of a group of nodes which together represent a sequence.

There are two modifiers that can modifies the node there are push(its use for adding a node value and push to create the node ) and pop(delete a node ) .

Linked List is divided by 2 kinds there are single linked list and double linked list .

Single linked list

Single Linked Lists are a type of data structure. It is a type of list. In a single linked list each node in the list stores the contents of the node and a pointer or reference to the next node in the list. It does not store any pointer or reference to the previous node. It is called a single linked list because each node only has a single link to another node. To store a single linked list, you only need to store a reference or pointer to the first node in that list. The last node has a pointer to nothingness to indicate that it is the last node.

Double Linked List

double linked list is a linked data structure that consists of a set of sequentially linked records called nodes. Each node contains two fields, called links, that are references to the previous and to the next node in the sequence of nodes.

1.Queue

Queue is a particular kind of abstract data type or collection in which the entities in the collection are kept in order and the principal (or only) operations on the collection are the addition of entities to the rear terminal position, known as enqueue, and removal of entities from the front terminal position, known as dequeue. This makes the queue a First-In-First-Out (FIFO) data structure. Linked list is a data structure consisting of a group of nodes which together represent a sequence. Here we need to apply the application of linked list to perform basic operations of queue.

There are two kind of queue that can be used for programming there are circular queue and priority queue

Circular queue

  • Single Circular queue linked list:
    It  is an extension for the basic single linked list. In circular linked  list Instead of storing a Null value in the last node of a single linked  list, store the address of the 1st node (root) forms a circular linked  list. Using circular linked list it is possible to directly traverse to  the first node after reaching the last node.

This shows a single circular queue on liked list

  • Using circular queue on double linked list
    In  double linked list the right side pointer points to the next node  address or the address of first node and left side pointer points to the  previous node address or the address of last node of a list. Hence the  above list is known as circular double linked list.

This shows a single circular queue on double liked list

 

Priority queue

  • priority queue is an abstract data type which is like a regular queue or stack data structure, but where additionally each element has a “priority” associated with it. In a priority queue, an element with high priority is served before an element with low priority.

2.Stack

Stack is a type of queue that in practice is implemented as an area of memory that holds all local variables and parameters used by any function, and remembers the order in which functions are called so that function returns occur correctly. Each time a function is called, its local variables and parameters are “pushed onto” the stack. When the function returns,these locals and parameters are “popped.” Because of this, the size of a program’s stack fluctuates constantly as the program is running, but it has some maximum size. stack is as a last in, first out (LIFO) abstract data type and linear data structure. Linked list is a data structure consisting of a group of nodes which together represent a sequence. Here we need to apply the application of linkedlist to perform basic operations of stack.

IF you want to now the details about how stack implementation really works here i found a really cool website that can let you experiment on stack liked list :

click here –>Stack (Linked List Implementaion)

3.Evaluation on prefix notation

To operate this evaluation there are three tings that you have to know :

  1. Inflix : the normal operation that we normally use to calculate our math problems .
  2. Prefix : a calculation of math problems that operator have to be on the left followed by right operand and left operand . usually its use for programming purpose because computer can detect math problems more easier in prefix .
  3. postfix : is the opposite of prefix that the operator have to be on the right followed before operand right and perand left .

EXP:

inflix : 4+6*(5-20)/3

Prefix : +4/*6-5 3

Postfix: 4652-*3/+

4. DFS and BFS

  • Depthfirst search (DFS) is an algorithm for traversing or searching tree or graph data structures. One starts at the root (selecting some arbitrary node as the root in the case of a graph) and explores as far as possible along each branch before backtracking.
  • Bread-first search(BFS)This can be through of as being like Dijkstra’s algorithm for shortest paths, but with every edge having the same length. However it is a lot simpler and doesn’t need any data structures. We just keep a tree (the breadth first search tree), a list of nodes to be added to the tree, and markings (Boolean variables) on the vertices to tell whether they are in the tree or list.

 

IF you want to now the details about how BFS and DFS  implementation really works here i found a really cool website that can let you experiment on method of seach:

click here –>BFS Implementation

click here –>DFS Implementation

 

 

Summary Session 2 Data Structures Guest lecture Bong Defendy

For this session meting is delivered bay a guest lecture named Bong Defendy . He’s binusian 2007 and he’s a entrepreneur his job mainly around database like creating a system based on cloud , system design  , and many things that involve creating  a structure database system .

This meting the lecturer talk’s about structure data that can be use for work . Mainly when we work on all fields of work that base on database we have to follow these three main point’s which is :

  1. Mobility
  2. Big Data
  3. Cloud

1.Mobility

Mobility in technology is a way to minimize the cost and resource then maximize the function and the life span of the technology it self . Mobility always evolving through time to time .

2.Big Data

Big Data is a variant of data sets so large and complex they are impractical to manage with traditional software tools. Specifically, Big Data relates to data creation, storage, retrieval and analysis that is remarkable in terms of volume, velocity, and variety .

3. Cloud

For understanding what cloud means we first have to understand the three meaning of clouds which is Cloud computing  , Cloud storage , Cloud database .

cloud computing, also on-demand computing, is a kind of Internet-based computing that provides shared processing resources and data to computers and other devices on demand. It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources.

Cloud storage is a model of data storage in which the digital data is stored in logical pools, the physical storage spans multiple servers (and often locations), and the physical environment is typically owned and managed by a hosting company.

A cloud database is a database that typically runs on a cloud computing platform. There are two common deployment models: users can run databases on the cloud independently, using a virtual machine image, or they can purchase access to a database service, maintained by a cloud database provider.

This session also talk’s about things in the world of technology .

  1. Machine Learning

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you’ll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you’ll learn about some of Silicon Valley’s best practices in innovation as it pertains to machine learning and AI.

2.Augmented Reality

Augmented reality (AR) is a live, direct or indirect, view of a physical, real-world environment whose elements are augmented by computer-generated sensory input such as sound, video, graphics or GPS data. It is related to a more general concept called mediated reality, in which a view of reality is modified (possibly even diminished rather than augmented) by a computer. As a result, the technology functions by enhancing one’s current perception of reality. By contrast, virtual reality replaces the real world with a simulated one. Augmentation is conventionally in real-time and in semantic context with environmental elements, such as sports scores on TV during a match. With the help of advanced AR technology (e.g. adding computer vision and object recognition) the information about the surrounding real world of the user becomes interactive and digitally manipulable. Artificial information about the environment and its objects can be overlaid on the real world.

3.Business Intelligence

Business intelligence (BI) is a technology-driven process for analyzing data and presenting actionable information to help corporate executives, business managers and other end users make more informed business decisions.

4. Home Automation

Home automation is the use of one or more computers to control basic home functions and features automatically and sometimes remotely. An automated home is sometimes called a smart home .

To learn about all the thing involve with AI or machine learning first we have to know about what are microprocessor is .

Microprocessor

A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together.

we can learn them by using  arduino and raspberry pi . It’s very easy to use and very basic to learn about AI and hardware coding . The price variations is between around 60.000 to 500.000 Rupiah for arduino and for raspberry pi is between around 500.000 to 1.000.000 rupiah . The price range is very different between arduino and raspberry pi because arduino is for beginners or just want to know about AI on the other hand the raspberry pi is more expensive because more complex .

if you interested in buying microprocessor there’s the link :

https://www.tokopedia.com/warungarduino/etalase/arduino-board

https://www.tokopedia.com/search?st=product&q=raspberry+pi+&sc=0