Swift Data Structure and Algorithms

Erik Azar, Mario Eguiluz Alebicto

買這商品的人也買了...

商品描述

Master the most common algorithms and data structures, and learn how to implement them efficiently using the most up-to-date features of Swift 3

About This Book

  • Develop a deep understanding of the collections in the Swift Standard Library with this step-by-step guide
  • Develop native Swift data structures and algorithms for use in mobile, desktop, and server-based applications
  • Learn about performance efficiency between different data structures and algorithms

Who This Book Is For

This book is for developers who want to learn how to implement and use common data structures and algorithms natively in Swift. Whether you are a self-taught developer without a formal technical background or you have a degree in Computer Science, this book will provide with the knowledge you need to develop advanced data structures and algorithms in Swift using the latest language features.

What You Will Learn

  • Get to know about the basic data structures and how to use the Swift REPL
  • Use the Swift Standard Library collections bridging to Objective-C collections, and find out about protocol-oriented programming
  • Find out about Swift generators and sequences, and see how to use them to implement advanced data structures such as Stack, StackList, Queue, and LinkedList
  • Implement sorting algorithms such as Insertion Sort, Merge Sort, and Quick Sort and understand the performance trade-offs between them
  • See how to implement various binary trees, B-Tree, and Splay Trees
  • Perform advanced searching methods using Red-Black trees, AVL trees, and Trie trees, and take a look at several substring search algorithms
  • Get to know about the data structures used in graphs and how to implement graphs such as depth-first search, breadth-first search, directed graphs, spanning tree, and shortest path
  • Explore algorithm efficiency and see how to measure it

In Detail

Apple’s Swift language has expressive features that are familiar to those working with modern functional languages, but also provides backward support for Objective-C and Apple’s legacy frameworks. These features are attracting many new developers to start creating applications for OS X and iOS using Swift.

Designing an application to scale while processing large amounts of data or provide fast and efficient searching can be complex, especially running on mobile devices with limited memory and bandwidth. Learning about best practices and knowing how to select the best data structure and algorithm in Swift is crucial to the success of your application and will help ensure your application is a success. That’s what this book will teach you.

Starting at the beginning, this book will cover the basic data structures and Swift types, and introduce asymptotic analysis. You’ll learn about the standard library collections and bridging between Swift and Objective-C collections. You will see how to implement advanced data structures, sort algorithms, work with trees, advanced searching methods, use graphs, and performance and algorithm efficiency. You’ll also see how to choose the perfect algorithm for your problem.

Style and approach

This easy-to-follow yet comprehensive guide can either be read from beginning to end, or depending on your current knowledge level, you can jump to the specific chapter that interests you. Each chapter topic starts with an introduction to the topic and algorithm before moving on to the hands-on implementation and analysis.

商品描述(中文翻譯)

掌握最常見的演算法和資料結構,並學習如何使用 Swift 3 的最新功能有效地實現它們。

關於本書:
- 透過逐步指南,深入了解 Swift 標準庫中的集合。
- 開發原生的 Swift 資料結構和演算法,供移動、桌面和伺服器應用程式使用。
- 學習不同資料結構和演算法之間的效能效率。

本書適合對於如何在 Swift 中原生實現和使用常見資料結構和演算法有興趣的開發人員。無論您是一位沒有正式技術背景的自學開發人員,還是擁有計算機科學學位的人,本書都將為您提供所需的知識,以使用最新的語言功能在 Swift 中開發高級資料結構和演算法。

您將學到:
- 了解基本的資料結構,以及如何使用 Swift REPL。
- 使用 Swift 標準庫集合與 Objective-C 集合進行橋接,並了解面向協議的編程。
- 了解 Swift 生成器和序列,並看到如何使用它們來實現高級資料結構,如堆疊、鏈表、佇列和連結串列。
- 實現插入排序、合併排序和快速排序等排序演算法,並了解它們之間的效能折衷。
- 瞭解各種二元樹、B-樹和Splay樹的實現。
- 使用紅黑樹、AVL樹和Trie樹執行高級搜索方法,並查看幾種子字串搜索演算法。
- 了解圖形中使用的資料結構,以及如何實現深度優先搜索、廣度優先搜索、有向圖、生成樹和最短路徑。
- 探索演算法效能,並了解如何測量它。

詳細內容:
- Apple 的 Swift 語言具有對於那些使用現代函數式語言的人來說熟悉的表達性特徵,同時也支援 Objective-C 和 Apple 的舊有框架。這些特徵吸引了許多新開發人員使用 Swift 開始為 OS X 和 iOS 創建應用程式。
- 在處理大量資料或提供快速高效的搜索時,設計一個可擴展的應用程式可能很複雜,尤其是在記憶體和頻寬有限的移動設備上運行。學習最佳實踐,並知道如何在 Swift 中選擇最佳的資料結構和演算法對於您的應用程式的成功至關重要,並有助於確保您的應用程式取得成功。這就是本書將教給您的內容。
- 從基礎開始,本書將涵蓋基本的資料結構和 Swift 類型,並介紹漸進分析。您將了解標準庫集合和 Swift 與 Objective-C 集合之間的橋接。您將看到如何實現高級資料結構、排序演算法、樹狀結構、高級搜索方法、使用圖形以及效能和演算法效率。您還將了解如何為您的問題選擇最佳的演算法。

風格和方法:
- 這本易於理解但全面的指南可以從頭到尾閱讀,或根據您目前的知識水平,跳到您感興趣的特定章節。每個章節主題都以介紹該主題和演算法開始,然後進行實踐和分析。