`
CalvinMnakor
  • 浏览: 52361 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

本周 《编程珠玑》第三章结束(关于数据结构部分)

阅读更多
           如何构造数据?如何数据抽象?是我们程序设计中经常遇到的问题,一个好的数据抽象可以很好的简化程序的设计,就如本章开头提到的那个例子,数据量可谓大量,如果不加分析,拿来就设计程序编码,那会造成不小的麻烦,写出的程序也是相对冗杂,层次性不够强,不具修改性。
           下面部分只是一种模拟,只使用了四个类别:
            page1和page2的数据分别保存在数据count1、decline1和count2、decline2,另外offset[]的存在在一定程度上为这种实现提供了一种可能,即构建循环体,保证循环的进行。
  
	while (infile>>entry[0]>>entry[1]>>entry[2]>>entry[3])
    {
		   //summary up to page1 or page2
        if (entry[1] == 1 && entry[0] != 0)
        {
			//total
			count1[entry[0]-1][0] ++;
			for (j = 2;j < N;++ j)
			{
				if (entry[j] != 0)
				{
					//answer the question
					count1[entry[0]-1][entry[j]-1+offset[j]] ++;
				}
				else 
				{
					//decline the question
					decline1[entry[0]-1][entry[j]-1+offset[j]];
				}
			}
        }
		else if (entry[1] == 2 && entry[0] != 0)
		{
			//total
			count2[entry[0]-1][0] ++;
			for (j = 2;j < N;++ j)
			{
				if (entry[j] != 0)
				{
					//answer the question
					count2[entry[0]-1][entry[j]-1+offset[j]] ++;
				}
				else 
				{
					//decline the question
					decline2[entry[0]-1][entry[j]-1+offset[j]];
				}
			}
		}
    }

            除了这个例子外,本章的课后习题没怎么做,实现起来不是很难,习题3的banner函数没想出来怎么构造,好像字符数组要自己一个个书写(似乎就是这么简单繁琐)。习题5没怎么看明白,关于连字符按优先权分割自己好像没怎么又兴趣。后面的单词检错和数字显示,使用简单的方法不是很难。毕竟这一章只是入门,复杂优美的数据结构还有很多,以后还很经常遇到的。
           最后,送上书中提到的一句话:
           程序员在对空间缺乏无能为力是,往往会脱离代码的缠绕,胡过头去凝神考虑他的数据,这样会找到更好的方法。表示法是编码的精华。
        
分享到:
评论

相关推荐

    编程珠玑 算法 数据结构

    通过对《编程珠玑》一书中关于算法和数据结构的学习,我们不仅可以了解到这些基础知识的重要性,还能掌握如何在实际场景中灵活运用它们来解决问题。无论是对于初学者还是有一定经验的程序员来说,《编程珠玑》都是一...

    编程珠玑 第2版(修订版)_编程珠玑修订_资料_

    《编程珠玑》一书将这些技巧和经验整理成章,涵盖了算法、数据结构、性能优化、代码质量等多个方面,是程序员自我提升的重要参考资料。书中强调的问题求解策略和程序设计思想,对于初学者和资深开发者都有很大的启发...

    编程珠玑(第二版)答案

    根据提供的标题“编程珠玑(第二版)答案”和描述“编程珠玑(第二版)答案”,我们可以推测出这是关于《编程珠玑》这本书的相关解答资料。《编程珠玑》是一本经典的计算机科学书籍,作者为Jon Bentley。本书旨在...

    编程珠玑之第二章questionC 测试数据

    "第二章questionC"提及的问题是关于"求变位词",这是一个常见的字符串处理问题,涉及到字符统计、排序以及字符串比较等基础知识。 变位词,又称为同字母异序词,是指两个或多个单词由完全相同的字母组成,但字母...

    编程珠玑 编程珠玑 编程珠玑 编程

    编程珠玑的核心概念之一是数据结构与算法的选择和设计。书中的例子多以实际问题为背景,通过分析和比较不同的解决方案,展示了如何在特定情境下选择最合适的算法和数据结构。例如,如何有效地搜索和排序数据,以及...

    编程珠玑源码下载编程珠玑书后源代码

    《编程珠玑》是计算机科学领域的一本经典之作,由Jon Bentley 编著,它以其深入浅出的方式探讨了程序设计的问题和解决方案,尤其在数据结构、算法优化以及问题解决策略方面有着独到的见解。这本书的源代码是作者为了...

    编程珠玑~~~~~~一本经典的数据结构和算法书籍

    ### 编程珠玑——经典的数据结构与算法书籍...总之,《编程珠玑》不仅是一本关于数据结构和算法的优秀教材,更是一部引导程序员不断探索、提升自我的宝贵资源。希望每位读者都能从中获益良多,不断提升自己的技术能力。

    编程珠玑.pdf

    第3章 程序员的忏悔 23 3.1 二分搜索 24 3.2 选择算法 26 3.3 子程序库 28 3.4 原理 30 3.5 习题 31 第4章 自描述数据 33 4.1 名字—值对 33 4.2 记录来历 36 4.3 排序实验 37 4.4 原理 39 4.5 习题 39 第二部分 实 ...

    编程珠玑 编程珠玑续

    《编程珠玑》和其续篇是两部深受程序员喜爱的经典著作,主要涵盖了程序设计、算法分析和数据结构等核心编程领域。这两本书以其深入浅出的讲解方式和丰富的实例,帮助读者提升编程技巧和解决问题的能力。 在《编程...

    编程珠玑 Programming Pearls 第二版(中文版+源代码)

    3. **数据结构的应用**:书中详细讲解了各种数据结构,如数组、链表、树、图等,并探讨了它们在特定问题中的适用性。例如,B树和B+树在数据库索引中的应用,哈希表在快速查找中的作用。 4. **编程语言选择**:虽然...

    编程珠玑 第二版 修订版 epub

    1. **编程艺术的探索**:《编程珠玑》不仅是一本关于编程技巧的书,更是一本关于编程艺术的书。它教导读者如何优雅地解决问题,如何通过优化算法提高程序性能,以及如何在面对复杂问题时保持清晰的思维。 2. **数据...

    编程珠玑高清pdf版.pdf

    总的来说,《编程珠玑》这本书涵盖了编程实践中遇到的诸多问题,包括但不限于数据结构、算法、输入/输出优化等,通过实例解析,使读者能够掌握如何优雅地解决编程挑战。配合压缩包中的其他资源,读者不仅可以深入...

    编程珠玑第2版(中文pdf版)

    数据结构是程序设计的核心组成部分之一,《编程珠玑》第二版中也对此做了详尽的讲解。书中介绍了数组、链表、树、图等常见数据结构,并且深入分析了它们各自的优缺点以及适用场景。此外,还讨论了如何选择合适的数据...

    编程珠玑(续)

    《编程珠玑(续)》是计算机科学方面的经典名著《编程珠玑》的姊妹篇,讲述了对于程序员有共性的知识。书中涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容组成一个有机的整体,...

    编程珠玑习题集锦

    《编程珠玑》是计算机科学领域的一本经典之作,...以上是《编程珠玑》中涉及的一些核心知识点,这些问题和方法展示了如何运用巧妙的算法和数据结构来解决实际编程问题。这本书对于提升编程思维和技能有着极高的价值。

    《编程珠玑》第2版中文PDF+源代码

    《编程珠玑》的核心内容围绕着数据结构、算法优化以及问题解决策略展开。书中的每个章节都精心设计了一组编程挑战,旨在帮助读者提高分析和解决问题的能力。以下是该书的一些主要知识点: 1. **数据结构与算法**:...

    编程珠玑源代码

    《编程珠玑源代码》是针对经典书籍《编程珠玑》第二版的源代码集合,主要涵盖C语言和C++编程。这本书以其独特的视角和深入浅出的讲解方式,深受程序员喜爱,尤其对于数据结构、算法和程序设计思维的提升有着重要的...

    编程珠玑第二版英文版 带源码

    《编程珠玑第二版英文版》是一本深受程序员喜爱的经典著作,由Jon Bentley 所著。这本书以其深入浅出的方式探讨了程序设计的艺术,通过一系列精心挑选的问题和解决方案,揭示了编程中的智慧与技巧。书中的每个章节都...

    编程珠玑(PDF带目录)

    这不仅是对数据结构的深入学习,也是对编程思维的锻炼,因为正确选择数据结构对于解决编程问题至关重要。 同时,《编程珠玑》强调了搜索算法的重要性,如二分查找、广度优先搜索和深度优先搜索等,这些是处理复杂...

    编程珠玑续本

    编程珠玑续、编程珠玑续本、编程珠玑续本、编程珠玑续本

Global site tag (gtag.js) - Google Analytics