post-image

Sorting Algorithms

A sorting algorithm is an algorithm made up of a series of instructions that takes an array as input, performs specified operations on the array, sometimes called a list, and outputs a sorted array. Sorting algorithms are often taught early in computer science classes as they provide a straightforward way to introduce other key computer science topics like Big-O notation, divide-and-conquer methods, and data structures such as binary trees, and heaps.

Read more
post-image

Arrays

Arrays Arrays a kind of data structure that can store a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type. Instead of declaring individual variables, such as number0, number1, …, and number99, you declare one array variable such as numbers and use numbers[0], numbers[1], and …, numbers[99] to represent individual variables.

Read more
post-image

A FIFO Buffer Implementation

A FIFO buffer is a useful way of storing data that arrives to a microcontroller peripheral asynchronously but cannot be read immediately. One example is storing bytes incoming on a UART. Buffering the bytes eases the real-time requirements for the embedded firmware. A FIFO buffer stores data on a first-in, first-out basis. The storage structure is typically an array of contiguous memory. Data is written to the “head” of the buffer and read from the “tail”.

Read more
post-image

Asymptotic Notations

What is Asymptotic Notation? Whenever we want to perform analysis of an algorithm, we need to calculate the complexity of that algorithm. But when we calculate the complexity of an algorithm it does not provide the exact amount of resource required. So instead of taking the exact amount of resource, we represent that complexity in a general form (Notation) which produces the basic nature of that algorithm. We use that general form (Notation) for analysis process.

Read more
post-image

Circular Linked List

What is Circular Linked List? In single linked list, every node points to its next node in the sequence and the last node points NULL. But in circular linked list, every node points to its next node in the sequence but the last node points to the first node in the list. A circular linked list is a sequence of elements in which every element has a link to its next element in the sequence and the last element has a link to the first element.

Read more
post-image

Double Linked List

What is Double Linked List? In a single linked list, every node has a link to its next node in the sequence. So, we can traverse from one node to another node only in one direction and we can not traverse back. We can solve this kind of problem by using a double linked list. A double linked list can be defined as follows… Double linked list is a sequence of elements in which every element has links to its previous element and next element in the sequence.

Read more
post-image

Introduction to Algorithms

What is an algorithm? An algorithm is a step by step procedure to solve a problem. In normal language, the algorithm is defined as a sequence of statements which are used to perform a task. In computer science, an algorithm can be defined as follows… An algorithm is a sequence of unambiguous instructions used for solving a problem, which can be implemented (as a program) on a computer. Algorithms are used to convert our problem solution into step by step statements.

Read more
post-image

Linear & Non-Linear Data Structures

What is Data Structure? Whenever we want to work with a large amount of data, then organizing that data is very important. If that data is not organized effectively, it is very difficult to perform any task on that data. If it is organized effectively then any operation can be performed easily on that data. A data structure can be defined as follows… Data structure is a method of organizing a large amount of data more efficiently so that any operation on that data becomes easy

Read more
post-image

Performance Analysis

What is Performance Analysis of an algorithm? If we want to go from city “A” to city “B”, there can be many ways of doing this. We can go by flight, by bus, by train and also by bicycle. Depending on the availability and convenience, we choose the one which suits us. Similarly, in computer science, there are multiple algorithms to solve a problem. When we have more than one algorithm to solve a problem, we need to select the best one.

Read more
post-image

Single Linked List

What is Linked List? When we want to work with an unknown number of data values, we use a linked list data structure to organize that data. The linked list is a linear data structure that contains a sequence of elements such that each element links to its next element in the sequence. Each element in a linked list is called “Node”. What is Single Linked List? Simply a list is a sequence of data, and the linked list is a sequence of data linked with each other.

Read more
post-image

Space Complexity

What is Space complexity? When we design an algorithm to solve a problem, it needs some computer memory to complete its execution. For any algorithm, memory is required for the following purposes… To store program instructions. To store constant values. To store variable values. And for few other things like funcion calls, jumping statements etc,. Space complexity of an algorithm can be defined as follows… Total amount of computer memory required by an algorithm to complete its execution is called as space complexity of that algorithm.

Read more
post-image

Time Complexity

What is Time complexity? Every algorithm requires some amount of computer time to execute its instruction to perform the task. This computer time required is called time complexity. The time complexity of an algorithm can be defined as follows… The time complexity of an algorithm is the total amount of time required by an algorithm to complete its execution. Generally, the running time of an algorithm depends upon the following…

Read more
post-image

Live Webcam Streaming using VLC on the Command Line

The following are notes on using VLC as both server and server to stream a webcam from a ender across a LAN to multiple receivers. It focusses only on internal LAN streaming, using RTSP, UDP and RTP as the streaming solutions, and working via the command line in Linux. VLC offers other form of streaming (e.g. HTTP, which are covered in some of my older notes) and the GUI is quite good for selecting streaming options.

Read more
post-image

Operating Systems for ASUS Tinker Board

Hi dear reader. In previews article I had post How to connect DSI and CSI cable to tinker board with a some Frequently Asked Question. In this Article I had collected all available OS for single-board computer ASUS Tinker Board. Based on this computer i will to construct my robot with AI implementation and computer vision. Actually this the first reason why i had select Tinker Board that based on Rockchip RK3288 processor with 4x Cores “Cortex-A17” with frequency 1.

Read more
post-image

How to connect DSI and CSI cable to tinker board

DSI, CSI cable can be use will no difference, those cable is the same. CSI connect to the middle of tinker board, please refer icon print on board as follows: DSI connect to the boundary of tinker board, please refer icon print on board as follows: DSI panel need extra 5V power. You can USB to supply, or thinker board can output 5V by GPIO PIN, red line is for positive(+),black line is for negative(-) , as follow.

Read more
post-image

Mathematics Primer for 3D Software Developer (Coordinate Systems)

This article assumes you have a minimum understanding vectors, and matrices. I will simply show applications of vectors and matrices and how they apply to game programming. In this article, I would like to provide a brief math primer for people who would like to get involved in game programming. This is not an exhaustive explanation of all the math theory that one will have to know in order to be a successful game programmer, but it’s the very minimum amount of information that is necessary to know before you can begin as a game programmer.

Read more
post-image

MPU-9250 Accelerometer, Gyroscope and Magnetometer Code

In this Article you will get the code and library for MPU-9250 module. Watch video instruction on how to use MPU-9250. Get MPU-9250 Library from Github Data sheet for MPU-9250 MPU-9250 Register Map Get Library from Robojax.com I2C scanner Code and Video Guide to interfacing MPU9250 Gyroscope, Magnetometer and Accelerometer with a Raspberry Pi Arduino Nano: Accelerometer Gyroscope Compass MPU9250 I2C Sensor With Visuino Drivers for MPU9250 IMU Sensor /* * Library: https://github.

Read more
post-image

Awesome C++

Awesome C++ Standard Libraries Frameworks Artificial Intelligence Asynchronous Event Loop Audio Biology BitTorrent CLI Compression Concurrency Containers Cryptography Database Debug Game Engine GUI Graphics Image Processing Internationalization Inter-process communication JSON Logging Machine Learning Math Memory Allocation Multimedia Networking PDF Physics Regular Expression Robotics Scientific Computing Scripting Serialization Sorting Video Virtual Machines Web Application Framework XML Miscellaneous Software Compiler Online Compiler Debugger Integrated Development Environment Build Systems Static Code Analysis Coding Style Tools Resources

Read more