, Max Sum
, Chinese Box
, Unloading Trucks
, Internal Nodes
, Remove Repetitions
, Unique Product
, Unique Numbers
, Window Manager
, Book Sale
, Moving Total
The C# programming language is a simple, modern, general-purpose, object-oriented programming language. Having a basic familiarity with the programming language used on the job is a prerequisite for quickly getting up to speed.
When designing and/or analyzing an algorithm or data structure, it is important to consider the performance and structure of an implementation. Algorithmic thinking is one of the key traits of a good programmer, especially one working on complex or performance-critical code.
An array is a container of a fixed number of objects of a similar type. It is a fundamental component of most programming languages.
Choosing the right data structure to solve a problem can have huge implications on the performance of an application. Knowing when to use a specific data structure is one of the most important skills for a programmer.
Every programmer should be familiar with data-sorting methods, as sorting is very common in data-analysis processes.
A queue is a collection of items that are maintained in a sequence and can be modified by the addition of entities at one end of the sequence and removal from the other end of the sequence. It is the collection to be used when first-in-first-out (FIFO) collection is needed.
A tree is a hierarchical structure defined recursively starting with the root node, where each node is a data structure consisting of a value, together with a list of references to other nodes (the "children"). A lot of problems can be solved efficiently with trees, which makes them important for developers.
A linked list is a linear collection of data elements where each element points to the next. It is a data structure consisting of a collection of nodes which together represent a sequence. It is usually used for advanced scenarios where we need fast access to the next element, or when we need to remove an element from anywhere in the collection.
Since a string is an immutable data structure, concatenating multiple strings can introduce significant performance penalties. Every experienced developer should know when to use StringBuilder instead of simply concatenating two strings to improve performances in such scenarios.
The string data structure is used to represent text. It is one of the most commonly used data structures. Therefore, every programmer should be skilled at string manipulation.
A dictionary (or associative array) is a data type composed of a collection of key-value pairs, where each possible key appears at most once in the collection. It is used when we need to access items by their keys.
Many real-life situations are best modeled by graphs. Therefore, an in-depth knowledge of graph data structures is important for a good programmer.
HashSet is container that stores unique elements in no particular order. This allows for fast checks to see if a value was already added.
Dynamic programming methods for code optimization can be very useful to a programmer who understands them.