🌐
CET
cet.edu.in › noticefiles › 280_DS Complete.pdf pdf
DATA STRUCTURES USING “C”
A stack can be implemented by means of Array, Structure, Pointer, and Linked List. Stack can · either be a fixed size one or it may have a sense of dynamic resizing. Here, we are going to · implement stack using arrays, which makes it a fixed size stack implementation. ... Stack operations may involve initializing the stack, using it and then de-initializing it. Apart from · these basic stuffs, a stack is used for the following two primary operations − ... When data is PUSHed onto stack.
Discussions

resource request - Book recommendations for self studying Data Structures in depth in an elegant manner - Computer Science Educators Stack Exchange
It is indeed a classic and a master-piece from the four authors. Each and every algorithm in it is written in the simplest manner possible. Each and every algorithms have analysis involved in a hardcore manner. Thought it is a fantastic book on algorithm design and analysis and many sources recommend it for data structures ... More on cseducators.stackexchange.com
🌐 cseducators.stackexchange.com
June 28, 2020
Best Data Structure and Algorithm Book written in C?
"Algorithms in C" by Robert Sedgewick is exactly what you're looking for. I have a repository with solutions to excercises until chapter 4 if you're interested. https://github.com/Gecko05/AlgorithmsInC More on reddit.com
🌐 r/C_Programming
25
72
December 18, 2019
Which book to start learning Data Structures and Algorithms ?
In addition to books, check out this GitHub repo: Awesome Algorithms — awesome places to learn and/or practice algorithms More on reddit.com
🌐 r/learnprogramming
81
719
March 12, 2023
A book recommendation, as well as a link to course notes on data structure
Turbo C/C++ -- what's not to like? Oh, except it's hard to find the *compiler anymore, lol. Anyway, this is a very nice critique. Confidence is high that many will find it helpful. *That's the 32bit Borland C/C++ v5.5 -- which I was slightly stunned to find. More on reddit.com
🌐 r/C_Programming
4
23
November 14, 2023
🌐
Google Books
books.google.com › books › about › Data_Structure_Using_C.html
Data Structure Using C - A. K. Sharma - Google Books
A data structure is the logical organization of a set of data items that collectively describe an object. Using the C programming language, this book describes how to effectively choose and design a data structure for a given situation or problem.
🌐
FreeComputerBooks
freecomputerbooks.com › Data-Structures-and-Algorithms-in-C.html
Data Structures and Algorithms Using C - Free Computer, Programming, Mathematics, Technical Books, Lecture Notes and Tutorials
This book has been developed to provide a comprehensive and consistent coverage of both the abstract concepts of data structures as well as the implementation of these concepts using C language. ... The book describes a variety of algorithms in a number of areas of interest, emphasizes fundamental techniques, providing readers with the tools to confidently implement, run, and debug useful algorithms.
🌐
O'Reilly
oreilly.com › library › view › data-structures-using › 9789332524248
Data Structures using C, 2nd Edition [Book]
June 1, 2013 - Data structure is the logical organization of a set of data items that collectively describes an object. Using the C programming language, this book describes how to effectively choose and design a data structure for a given situation or problem.
Author   A. K. Sharma
Published   2013
Pages   516
🌐
DOKUMEN.PUB
dokumen.pub › data-structures-and-algorithms-with-c-9781783323685.html
Data structures and algorithms with C 9781783323685 - DOKUMEN.PUB
The Data structure is a course that helps students to accumulate knowledge about how data are stored and manipulated in the memory of any computing device. This book is written for the students who have knowledge about C and now are going to ...
🌐
Amazon
amazon.com › Data-Structures-C-Noel-Kalicharan › dp › 1438253273
Amazon.com: Data Structures In C: 9781438253275: Kalicharan, Noel: Books
We discuss some of the more versatile and popular data structures and explain how to implement and use them to solve a variety of useful problems. The book restricts itself to what can be covered in a one-semester course, without overwhelming the student with complexity and analysis.
Find elsewhere
🌐
Amazon
amazon.com › Data-Structures-Using-Reema-Thareja › dp › 0198099304
Data Structures Using C: Thareja, Reema: 9780198099307: Amazon.com: Books
It begins with a thorough overview of the concepts of C programming followed by introduction of different data structures and methods to analyse the complexity of different algorithms. It then connects these concepts and applies them to the study of various data structures such as arrays, strings, linked lists, stacks, queues, trees, heaps, and graphs. The book utilizes a systematic approach wherein the design of each of the data structures is followed by algorithms of different operations that can be performed on them, and the analysis of these algorithms in terms of their running times.
🌐
Amazon
amazon.com › Data-Structures-Using-Aaron-Tenenbaum › dp › 0131997467
Data Structures Using C: 9780131997462: Computer Science Books @ Amazon.com
A first text in data structures, to go along with a second course in programming. Emphasizing structured design and programming techniques, it features precise instructions on all the steps involved in data structure development from the theoretical ...
🌐
O'Reilly
oreilly.com › library › view › data-structure-using › 9788131755662
Data Structure Using C [Book]
May 18, 2010 - A data structure is the logical organization of a set of data items that collectively describe an object. Using the C programming language, this book describes how to effectively choose and design a data structure for a given situation or problem.
Author   A. K. Sharma
Published   2010
Pages   460
🌐
Internet Archive
archive.org › texts
Data structures using C and C++ : Langsam, Yedidyah, 1952- : Free Download, Borrow, and Streaming : Internet Archive
It explains how the abstractions ... courses in data structures and programming. xvi, 672 pages : 24 cm An introduction to the fundamentals of data structures, this book explores abstract concepts and considers how those concepts ...
🌐
Routledge
routledge.com › Data-Structures-using-C-A-Practical-Approach-for-Beginners › Jagtap-Mali › p › book › 9780367616373
Data Structures using C: A Practical Approach for Beginners - 1st Edit
Resolves linear and nonlinear data structures in C language using the algorithm, diagrammatically and its time and space complexity analysis · Covers interview questions and MCQs on all topics of campus readiness ...
🌐
BAOU
baou.edu.in › assets › pdf › BCAR_201_slm.pdf pdf
20 Dr. Babasaheb Ambedkar Open University 24 Data Structure Using C
discussed 2-Dimessional arrays, its matrix representations and Sparse matrix in more details. ... The objective of the block is to aware students, about different types of data structures. Student · will know, what is data structures, how it can be programmatically implemented into the program?
🌐
Amazon
amazon.com › Algorithms-Data-Structures-Approach-C › dp › 0195174801
Algorithms and Data Structures: An Approach in C: Bowman, Charles F.: 9780195174809: Amazon.com: Books
With numerous practical, real-world algorithms presented in the C programming language, Bowman's Algorithms and Data Structures: An Approach in C is the algorithms text for courses that take a modern approach.
🌐
Google Books
books.google.com › books › about › DATA_STRUCTURES_IN_C.html
DATA STRUCTURES IN C - NAIR, ACHUTHSANKAR S., MAHALEKSHMI, T. - Google Books
This compact and student-friendly book deals with data structures, particularly user defined data structures, such as linked lists, stacks, queues, trees, graphs and files, using C as the programming language.
🌐
Harvard Book Store
harvard.com › book › 9798862991864
Data Structures and Algorithms in C: A Comprehensive Guide (Paperback) | Harvard Book Store
"Data Structures and Algorithms in C" is your gateway to mastering the fundamentals of efficient programming.
Top answer
1 of 2
3

You might find Data Structures and Algorithm Analysis, by Clifford A. Shaffer, to be helpful. There are versions for C++ and Java available. (The 3rd edition is old already [2013], and the prior editions were titled A Practical Introduction to Data Structures and Algorithm Analysis.)

It does get very in-depth into the field, including the mathematics involved in analysis and proofs. That said, however, my first read through it (2nd Ed.) was very helpful in many ways, and I didn't then know anything about C++.

As a 2013 book, some of the coding might be in a style or format which is no longer considered "best practice." This is likely more true for the manner in which Object Oriented Programming is utilized than for the syntactical style. The material, discussion, and analysis are still as valid as ever.


The link above is to the author's page where the PDF versions are available, along with many resources to accompany the book. Of course, if you must have a dead-tree version, they are still available, new and used, from places such as Amazon.

The author has stopped updating the PDF and print versions of the book in favor of an online version. I have not experimented with the online version, although a quick peek at it leads me to believe that it is available for "in-class" use and for independent study. As such, it might be more useful to you than the PDF version.

As a caution, I've also seen a 4th Edition with the same title, but by a different author. It may, or may not, be an updated version of the same book, done with the original author's help and blessings. Having never read the 4th Edition I cannot say if it's connected at all.


To give a better idea of the content, and layout, of the book, I am listing an abridged version of the books Table of Contents.

Contents

I Preliminaries

  1. Data Structures and Algorithms
    • A Philosophy of Data Structures (The Need for Data Structures :: Costs and Benefits) | Abstract Data Types and Data Structures | Design Patterns (Flyweight :: Visitor :: Composite :: Strategy) | Problems, Algorithms, and Programs
  2. Mathematical Preliminaries
    • Sets and Relations | Miscellaneous Notation | Logarithms | Summations and Recurrences | Recursion | Mathematical Proof Techniques (Direct Proof :: Proof by Contradiction :: Proof by Mathematical Induction) | Estimation
  3. Algorithm Analysis
    • Introduction | Best, Worst, and Average Cases | A Faster Computer, or a Faster Algorithm? | Asymptotic Analysis (Upper Bounds :: Lower Bounds :: Θ Notation :: Simplifying Rules :: Classifying Functions) | Calculating the Running Time for a Program | Analyzing Problems | Common Misunderstandings | Multiple Parameters | Space Bounds 3.10 Speeding Up Your Programs 3.11 Empirical Analysis

II Fundamental Data Structures

  1. Lists, Stacks, and Queues
    • Lists (Array-Based List Implementation :: Linked Lists :: Comparison of List Implementations :: Element Implementations :: Doubly Linked Lists) | Stacks (Array-Based Stacks :: Linked Stacks :: Comparison of Array-Based and Linked Stacks :: Implementing Recursion) | Queues (Array-Based Queues :: Linked Queues :: Comparison of Array-Based and Linked Queues) | Dictionaries
  2. Binary Trees
    • Definitions and Properties (The Full Binary Tree Theorem :: A Binary Tree Node ADT) | Binary Tree Traversals | Binary Tree Node Implementations (Pointer-Based Node Implementations :: Space Requirements :: Array Implementation for Complete Binary Trees) | Binary Search Trees | Heaps and Priority Queues | Huffman Coding Trees (Building Huffman Coding Trees :: Assigning and Using Huffman Codes :: Search in Huffman Trees)
  3. Non-Binary Trees
    • General Tree Definitions and Terminology (An ADT for General Tree Nodes :: General Tree Traversals) | The Parent Pointer Implementation | General Tree Implementations (List of Children :: The Left-Child/Right-Sibling Implementation :: Dynamic Node Implementations :: Dynamic “Left-Child/Right-Sibling” Implementation) | K-ary Trees | Sequential Tree Implementations

III Sorting and Searching

  1. Internal Sorting
    • Sorting Terminology and Notation | Three Θ(n2) Sorting Algorithms (Insertion Sort :: Bubble Sort :: Selection Sort :: The Cost of Exchange Sorting) | Shellsort | Mergesort | Quicksort | Heapsort | Binsort and Radix Sort | An Empirical Comparison of Sorting Algorithms | Lower Bounds for Sorting
  2. File Processing and External Sorting
    • Primary versus Secondary Storage | Disk Drives (Disk Drive Architecture :: Disk Access Costs) | Buffers and Buffer Pools | The Programmer’s View of Files | External Sorting (Simple Approaches to External Sorting :: Replacement Selection :: Multiway Merging)
  3. Searching
    • Searching Unsorted and Sorted Arrays | Self-Organizing Lists | Bit Vectors for Representing Sets | Hashing (Hash Functions :: Open Hashing :: Closed Hashing :: Analysis of Closed Hashing :: Deletion)
  4. Indexing
  • Linear Indexing | ISAM | Tree-based Indexing | 2-3 Trees | B-Trees (B+ -Trees :: B-Tree Analysis)

IV Advanced Data Structures

  1. Graphs
  • Terminology and Representations | Graph Implementations | Graph Traversals (Depth-First Search :: Breadth-First Search :: Topological Sort) | Shortest-Paths Problems (Single-Source Shortest Paths) | Minimum-Cost Spanning Trees (Prim’s Algorithm :: Kruskal’s Algorithm)
  1. Lists and Arrays Revisited
  • Multilists | Matrix Representations | Memory Management (Dynamic Storage Allocation :: Failure Policies and Garbage Collection)
  1. Advanced Tree Structures
  • Tries | Balanced Trees (The AVL Tree :: The Splay Tree) | Spatial Data Structures (The K-D Tree :: The PR quadtree :: Other Point Data Structures :: Other Spatial Data Structures)

V Theory of Algorithms

  1. Analysis Techniques
  • Summation Techniques | Recurrence Relations (Estimating Upper and Lower Bounds :: Expanding Recurrences :: Divide and Conquer Recurrences :: Average-Case Analysis of Quicksort) | Amortized Analysis
  1. Lower Bounds
  • Introduction to Lower Bounds Proofs | Lower Bounds on Searching Lists (Searching in Unsorted Lists :: Searching in Sorted Lists) | Finding the Maximum Value | Adversarial Lower Bounds Proofs | State Space Lower Bounds Proofs | Finding the ith Best Element | Optimal Sorting
  1. Patterns of Algorithms
  • Dynamic Programming (The Knapsack Problem :: All-Pairs Shortest Paths) | Randomized Algorithms (Randomized algorithms for finding large values :: Skip Lists) | Numerical Algorithms (Exponentiation :: Largest Common Factor :: Matrix Multiplication :: Random Numbers :: The Fast Fourier Transform)
  1. Limits to Computation
  • Reductions | Hard Problems (The Theory of N P-Completeness :: N P-Completeness Proofs :: Coping with N P-Complete Problems) | Impossible Problems (Uncountability :: The Halting Problem Is Unsolvable)
2 of 2
3

At my school we do use Carrano and Henry, Data Abstraction & Problem Solving with C++: Walls and Mirrors.

The Walls and Mirrors series has been in publication since 1986, and over the years has seen editions in Pascal, Modula-2, C++, and Java. (Most recent editions in C++.) In 2018 it won the McGuffey Longevity Award ​for​​ ​textbooks whose excellence has been demonstrated over time.

🌐
S.Chand Publishing
schandpublishing.com › books › tech-professional › computer-science › data-structures-algorithms-using-c › 9788125950875
Data Structures and Algorithms Using C | S.Chand Publishing
Data Structure is a central course in the curriculum of all Computer Science programs. The book ';Data Structures and Algorithms Using C' aims at helping students develop programming and algorithm analysis skills simultaneously so that they can design programs with the maximum amount of efficiency.