Description |
1 online resource |
Contents |
Cover -- Title page -- Copyright and credits -- Contributors -- Table of Contents -- Preface -- Chapter 1: Data Types -- C# as a programming language -- .NET-based console applications -- Division of data types -- Value types -- Integral numbers -- Floating-point numbers -- Boolean values -- Unicode characters -- Constants -- Enumerations -- Value tuples -- User-defined structs -- Nullable value types -- Reference types -- Objects -- Strings -- Classes -- Records -- Interfaces -- Delegates -- Dynamics -- Nullable reference types -- Summary -- Chapter 2: Introduction to Algorithms |
|
What are algorithms? -- Definition -- Real-world examples -- Notations for algorithm representation -- Natural language -- Flowchart -- Pseudocode -- Programming language -- Types of algorithms -- Recursive algorithms -- Divide and conquer algorithms -- Back-tracking algorithms -- Greedy algorithms -- Heuristic algorithms -- Dynamic programming -- Brute-force algorithms -- Computational complexity -- Time complexity -- Space complexity -- Summary -- Chapter 3: Arrays and Sorting -- Single-dimensional arrays -- Example -- month names -- Multi-dimensional arrays -- Example -- multiplication table |
|
Example -- game map -- Jagged arrays -- Example -- yearly transport plan -- Sorting algorithms -- Selection sort -- Insertion sort -- Bubble sort -- Merge sort -- Shell sort -- Quicksort -- Heap sort -- Performance analysis -- Summary -- Chapter 4: Variants of Lists -- Simple lists -- Array lists -- Generic lists -- Sorted lists -- Example -- address book -- Linked lists -- Singly linked lists -- Doubly linked lists -- Circular singly linked lists -- Circular doubly linked lists -- List-related interfaces -- Summary -- Chapter 5: Stacks and Queues -- Stacks -- Example -- Reversing a word |
|
Example -- Tower of Hanoi -- Queues -- Example -- Call center with a single consultant -- Example -- Call center with many consultants -- Priority queues -- Example -- Call center with priority support -- Circular queues -- Example -- Gravity roller coaster -- Summary -- Chapter 6: Dictionaries and Sets -- Hash tables -- Example -- phone book -- Dictionaries -- Example -- product location -- Example -- user details -- Sorted dictionaries -- Example -- encyclopedia -- Hash sets -- Example -- coupons -- Example -- swimming pools -- "Sorted" sets -- Example -- removing duplicates -- Summary |
|
Chapter 7: Variants of Trees -- Basic trees -- Implementation -- Example -- hierarchy of identifiers -- Example -- company structure -- Binary trees -- Traversal -- Implementation -- Example -- simple quiz -- Binary search trees -- Implementation -- Example -- BST visualization -- Self-balancing trees -- AVL trees -- Red-black trees -- Tries -- Implementation -- Example -- autocomplete -- Heaps -- Summary -- Chapter 8: Exploring Graphs -- The concept of graphs -- Applications -- Representations -- Adjacency list -- Adjacency matrix -- Implementation -- Node -- Edge -- Graph |
|
Example -- undirected and unweighted edges |
Summary |
Building your own applications is exciting but challenging, especially when tackling complex problems tied to advanced data structures and algorithms. This endeavor demands profound knowledge of the programming language as well as data structures and algorithms – precisely what this book offers to C# developers. Starting with an introduction to algorithms, this book gradually immerses you in the world of arrays, lists, stacks, queues, dictionaries, and sets. Real-world examples, enriched with code snippets and illustrations, provide a practical understanding of these concepts. You’ll also learn how to sort arrays using various algorithms, setting a solid foundation for your programming expertise. As you progress through the book, you’ll venture into more complex data structures – trees and graphs – and discover algorithms for tasks such as determining the shortest path in a graph before advancing to see various algorithms in action, such as solving Sudoku. By the end of the book, you’ll have learned how to use the C# language to build algorithmic components that are not only easy to understand and debug but also seamlessly applicable in various applications, spanning web and mobile platforms |
Notes |
Includes index |
|
Online resource; title from PDF title page (EBSCO, viewed February 29, 2024) |
Subject |
C (Computer program language)
|
|
Application software -- Development.
|
|
Data structures (Computer science)
|
|
algorithms.
|
Genre/Form |
Electronic books
|
Form |
Electronic book
|
ISBN |
9781803238821 |
|
1803238828 |
|