Objective-C程序结构和项目结构介绍 – Objective-C开发教程
上一章Objective-C开发教程请查看:Objective-C入门介绍和环境安装 这一章我们讨论Objective-C开发比较宏观的东西,以免后面开发各种混乱。首先是介绍OC程序结构,这是本语言入门的开始。然后介绍OC的项目结构,包括m...
上一章Objective-C开发教程请查看:Objective-C入门介绍和环境安装 这一章我们讨论Objective-C开发比较宏观的东西,以免后面开发各种混乱。首先是介绍OC程序结构,这是本语言入门的开始。然后介绍OC的项目结构,包括m...
Objective-C是一种面向对象编程语言(简称OC),主要针对的平台是iOS和Mac,也就是苹果的产品,它使用smalltalk风格的消息机制转换为C函数的调用(一切皆对象,向对象发送消息命令),也就是说Objective-C是C的超集...
接上一节图论算法原理和实现,本节讨论六大算法设计技巧,前面的文章都是讨论数据结构及其算法,例如线性表、栈、队列、散列表、树、图等,其算法都是相对简单的,即使是相对复杂的图论算法,其主要算法都是基于DFS和BFS。这里说的算法技巧是什么样的概...
数组和链表都是线性数据结构,它们有什么优缺点?两者都有一些优点和缺点,现在我们来看看数组和链表有什么区别,以及它们的一些优缺点和相关的应用场景。 例如,一个数组通常是一个被广泛实现为一个默认类型的数据类型,也就是说,一个数组中的元素的数据类...
上一节讨论了不相交集的实现原理,该数据结构会在本节使用到。图论(graph theory)算法是相当核心的算法,而且图论算法是相当实用的,之前讨论的数据结构,如链表、栈、队列、哈希表都是比较简单的,稍微复杂的是树和堆,本节讨论的图论算法原理...
不相交集(disjoint set)是一种数据结构,又称为并查集(union-find set),或称为联合-查找数据结构或合并查找数据结构,该数据结构主要是使用联合-查找算法(union-find algorithm)。不相交集是一种很有...
上一节我们讨论了优先队列和堆的原理和实现,其中堆可用于排序,称为堆排序(heap sort)。本节详细讨论9大经典排序算法,排序算法可以说是我们开发中的一种基本算法,而用到最多的则是快速排序(quick sort),它适用于一般情形,但并不...
优先队列(priority queue)类似于一般队列(queue),一般队列是一种简单的数据结构,特点是先进先出,详情可查看队列数据结构和实例详解。数据结构从最简单的线性结构,到树结构(二叉树、AVL平衡二叉树、伸展树、B-树和B+树原理...
在上一节我们谈到二叉树、AVL平衡二叉树、伸展树、B-树和B+树原理,相对于树,散列表(Hash Table)或哈希表无疑是一种相当适合使用在快速内存访问上的一种数据结构。树的理想时间复杂度可达到O(logn),而散列表理想情况下可达到常数...
选择排序算法简单的实现为:通过重复从待排序数组中找出最小元素(升序),将该最小元素放在首位置。给定一个待排序的数组,该排序算法需要操作两个子数组:已排序数组和未排序数组,实际操作中这两个数组可以在同一个数组上实现。 选择排序的每次遍历都从一...