My Account Log in

2 options

C# Data Structures and Algorithms : Harness the Power of C# to Build a Diverse Range of Efficient Applications / Marcin Jamro.

EBSCOhost Academic eBook Collection (North America) Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Jamro, Marcin, author.
Language:
English
Subjects (All):
C (Computer program language).
Application software--Development.
Application software.
Data structures (Computer science).
Physical Description:
1 online resource (372 pages)
Edition:
Second edition.
Place of Publication:
Birmingham, England : Packt Publishing, [2024]
Biography/History:
Jamro Marcin: Marcin Jamro, PhD, DSc (dr hab. inz. Marcin Jamro) is a reliable entrepreneur, a helpful expert, and an experienced developer, with significant international experience. He held the role of CEO at a few technological companies, operated as CTO at companies in various countries, and also worked at Microsoft Corporation in Redmond, USA. Marcin shares his knowledge as an expert in international projects and invests in modern solutions. He is the author of a few books on software engineering, as well as the author of numerous publications. The results of his research were presented and discussed at many scientific conferences. He has MCPD, MCTS, MCP, and CAE certificates. Marcin is a multiple laureate, finalist, and mentor in various competitions. He received the Primus Inter Pares medal and also, a few times, a scholarship for the Minister of Science and Higher Education for scientific achievements. Marcin has significant experience in project development, especially with the C# language and. NET-based technologies. He has performed the role of lead architect on numerous complex software projects, including web and mobile applications, APIs, databases, and integration with external components.
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.
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
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
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
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
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
Chapter 7: Variants of Trees
Basic trees
Implementation
Example - hierarchy of identifiers
Example - company structure
Binary trees
Traversal
Example - simple quiz
Binary search trees
Example - BST visualization
Self-balancing trees
AVL trees
Red-black trees
Tries
Example - autocomplete
Heaps
Chapter 8: Exploring Graphs
The concept of graphs
Applications
Representations
Adjacency list
Adjacency matrix
Node
Edge
Graph
Example - undirected and unweighted edges
Example - directed and weighted edges
Depth-first search
Breadth-first search
Minimum spanning tree
Kruskal's algorithm
Prim's algorithm
Example - telecommunication cable
Coloring
Example - voivodeship map
Shortest path
Example - path in game
Chapter 9: See in Action
The Fibonacci series
Minimum coin change
Closest pair of points
Fractal generation
Rat in a maze
A Sudoku puzzle
Title guess
A password guess
Chapter 10: Conclusion
Classification
Arrays
Lists
Sets
Trees
Graphs
The last word
Index
Other Books You May Enjoy.
Notes:
Includes index.
Includes bibliographical references and index.
Description based on print version record.
ISBN:
9781803238821
1803238828
OCLC:
1424951858

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account