1622494680

"DFS algorithm or Depth First Search algorithm is one of the traversal algorithm of graph data structure. In this tutorial beginners will learn about Depth First Search in Data Structure. This DFS in Data Structure tutorial will include practical demo for a better understanding.

**What Is a Data Structure?**

The short answer is: a data structure is a specific means of organizing data in a system to access and use. The long answer is a data structure is a blend of data organization, management, retrieval, and storage, brought together into one format that allows efficient access and modification. It’s collecting data values, the relationships they share, and the applicable functions or operations.

**Why Is Data Structure Important?**

The digital world processes an increasing amount of data every year. According to Forbes, there are 2.5 quintillion bytes of data generated daily. The world created over 90 percent of the existing data in 2018 in the previous two years! The Internet of Things (IoT) is responsible for a significant part of this data explosion. Data structures are necessary to manage the massive amounts of generated data and a critical factor in boosting algorithm efficiency. Finally, since nearly all software applications use data structures and algorithms, your education path needs to include learning data structure and algorithms if you want a career as a data scientist or programmer. Interviewers want qualified candidates who understand how to use data structures and algorithms, so the more you know about the concepts, the more comfortably and confidently you will answer data structure interview questions.

#data-structure #developer

1626268740

In the last article, we learned about graphs in data structures. Graphs are one of the efficient ways that are used to model daily life problems and find an optimal solution. In this article, we will learn about traversing techniques for the graph and their implementation

DFS is a recursive traversal algorithm for searching all the vertices of a graph or tree data structure. It starts from the first node of graph G and then goes to further vertices until the goal vertex is reached.

- DFS uses stack as its backend data structure
- edges that lead to an unvisited node are called discovery edges while the edges that lead to an already visited node are called block edges.

DFS implementation categorizes the vertices in the graphs into two categories:

- Visited
- Not visited

The major objective is to visit each node and keep marking them as “visited” without making any cycle.

1. Start by pushing starting vertex of the graph into the stack

2. Pop the top item of the stack and add it to the visited list

3. Create the adjacency list for that vertex. Add the non-visited nodes in the list to the top of the stack

4. Keep repeating steps 2 and 3 until the stack is empty

- Step 1: STATUS = 1 for each node in Graph G
- Step 2: Push the starting node A in the stack. set its STATUS = 2
- Step 3: Repeat Steps 4 and 5 until STACK is empty
- Step 4: Pop the top node N from the stack. Process it and set its STATUS = 3
- Step 5: Push all the neighbors of N with STATUS =1 into the stack and set their STATUS = 2
- [END OF LOOP]
- Step 6: stop

#data structure tutorials #applications of depth first search #depth first search #data structure

1620466520

If you accumulate data on which you base your decision-making as an organization, you should probably think about your data architecture and possible best practices.

If you accumulate data on which you base your decision-making as an organization, you most probably need to think about your data architecture and consider possible best practices. Gaining a competitive edge, remaining customer-centric to the greatest extent possible, and streamlining processes to get on-the-button outcomes can all be traced back to an organization’s capacity to build a future-ready data architecture.

In what follows, we offer a short overview of the overarching capabilities of data architecture. These include user-centricity, elasticity, robustness, and the capacity to ensure the seamless flow of data at all times. Added to these are automation enablement, plus security and data governance considerations. These points from our checklist for what we perceive to be an anticipatory analytics ecosystem.

#big data #data science #big data analytics #data analysis #data architecture #data transformation #data platform #data strategy #cloud data platform #data acquisition

1596737580

A week ago we learned about graph data structure. Today we will talk about how we can work with graphs. We will try to find distances between two nodes in a graph. This is one of the main uses of graphs and it’s called graph traversal. There are two main graph algorithms Breadth First Search (BFS) and Depth First Search (DFS) and today we will talk about BFS.

This is how our graph looks like:

**Breadth First Search**

In our example we will work with an adjacency matrix. This is how matrix represents graph above:

We will start with an input node, then visit all its neighbors which is one edge away. And then visit all their neighbors. Point is to determine how close the node is to the root node.

Function which we will write in a moment will return an object with key value pairs where key will represent node and value how far this node is from the root.

First we will loop over the adjacency matrix (2D array), create as many key value pairs as many nodes we have on the graph. Initially we will assign distance to the **infinity** which represents lack of connection between the nodes.

#graph #data-structures #breadth-first-search #javascript #algorithms #algorithms

1620629020

The opportunities big data offers also come with very real challenges that many organizations are facing today. Often, it’s finding the most cost-effective, scalable way to store and process boundless volumes of data in multiple formats that come from a growing number of sources. Then organizations need the analytical capabilities and flexibility to turn this data into insights that can meet their specific business objectives.

This Refcard dives into how a data lake helps tackle these challenges at both ends — from its enhanced architecture that’s designed for efficient data ingestion, storage, and management to its advanced analytics functionality and performance flexibility. You’ll also explore key benefits and common use cases.

As technology continues to evolve with new data sources, such as IoT sensors and social media churning out large volumes of data, there has never been a better time to discuss the possibilities and challenges of managing such data for varying analytical insights. In this Refcard, we dig deep into how data lakes solve the problem of storing and processing enormous amounts of data. While doing so, we also explore the benefits of data lakes, their use cases, and how they differ from data warehouses (DWHs).

*This is a preview of the Getting Started With Data Lakes Refcard. To read the entire Refcard, please download the PDF from the link above.*

#big data #data analytics #data analysis #business analytics #data warehouse #data storage #data lake #data lake architecture #data lake governance #data lake management

1603767600

Today, let us touch base on some fundamental concepts like search algorithms.

In simple terms, **searching **is a process of looking up a particular data record in the database or in the collection of items. A search typically answers as true or false whether the particular data in which we are referring is found or not and perform the next action accordingly.

Commonly used algorithms for search are:

- Linear search
- Binary search
- Interpolation search

Let us understand them in detail with some example

*Linear Search Algorithm* is the simplest and easiest form of the search algorithm. In this algorithm, a sequential search is made over all the items one by one to search for the targeted item. Each item is checked in sequence until the match is found. If the match is found, the searched item is returned otherwise the search continues till the end.

To make it easy to understand, let us see understand linear search using a flow diagram

Linear Search — Data Flow

- Does not need sorted array list
- Performs equality comparisons
- The time complexity is O(n)
- Time taken to search elements keeps increasing as the number of elements is increased.

In _Binary search algorithm, _begins with an interval covering the whole array and diving it in half. If the value of the search key is less than the item in the middle of the interval, narrow the interval to the lower half. Otherwise narrow it to the upper half. Repeatedly check until the value is found or the interval is empty.

To make it easy to understand, let us see understand binary search using flow diagram and example as below.

Binary Search — Data Flow

- The array needs to be sorted
- Performs ordering comparisons
- Time complexity to O(log n).
- Search is done to either half of the given list, thus cut down your search to half time

#sorting-algorithms #algorithms #data-structures #search-and-sort #searching-algorithm