免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 无风之谷
打印 上一主题 下一主题

让我欢喜让我忧——我的C++之路 [复制链接]

论坛徽章:
0
81 [报告]
发表于 2012-04-02 11:37 |只看该作者
回复 76# pmerofc
赞同,int也是数据结构,严格上的数据是看不见摸不着的,而数据结构是为了存储这些看不见的数据的。


   

论坛徽章:
0
82 [报告]
发表于 2012-04-02 12:08 |只看该作者
陈良乔 发表于 2012-04-02 11:29
至少从他的发言来看是这样的。
我还真是奇怪,你从哪一句看出我不够严谨了?


为人师,就要比学生高1+个层次思考,就要比学生想得更远,自己没想清楚的东西就要查查文献。当然在不知道自己不知道什么的时候,这些要求显得太过分了。

不知道某理论的作者不是什么错误,问题你是根本没考虑过这些东西:我写的书哪些是自己的延伸,哪些是已有的,会不会让读者认为这是我的原创。

所以我喜欢那些注明出处的书(或者说“延伸阅读”),不管作者对那些材料到底有多少精通。

当然,如果对于我自己,如果我对要写的东西没有多思考更多的层次,我是不敢写书的。

论坛徽章:
0
83 [报告]
发表于 2012-04-02 12:29 |只看该作者
lsnl8480 发表于 2012-04-02 11:37
回复 76# pmerofc
int也是数据结构


因所见略同
不便表示赞赏
然,知音之感,油然而生

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
84 [报告]
发表于 2012-04-02 14:09 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
85 [报告]
发表于 2012-04-02 14:12 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
86 [报告]
发表于 2012-04-02 16:08 |只看该作者
lsnl8480 发表于 2012-04-02 11:33
回复 79# 陈良乔
VC++是一个很复杂的东西,微软添加在其中添加了很多东西,适合有一定基础的c++程序员去使 ...


关于VC++,书中只是用它作为开发工具,并没有涉及到什么过多的扩展内容(包括_tmain,TCHAR,pragma once),对于初学者而言,它比GCC更容易上手,在学习的一开始,用较低的学习难度培养学习兴趣,是不是比一上来就一本正经地讲要按照标准,反而让人失去了兴趣更好一些呢?大家可能是因为自己已经熟悉了,GCC不太困难,但是对于初学者而言,也许是另外一回事。

关于程序=算法+数据,请大家好好看看原文,理解了在来讨论。你说我对大师一知半解,我也不希望你对我也同样是一知半解就来讨论。避免误解。

论坛徽章:
0
87 [报告]
发表于 2012-04-02 16:16 |只看该作者
lsnl8480 发表于 2012-04-02 11:37
回复 76# pmerofc
赞同,int也是数据结构,严格上的数据是看不见摸不着的,而数据结构是为了存储这些看不 ...


看来我们还这是对数据和数据结构有一些误解。

我的理解是
程序包括具体的数据(1,2,3),和抽象的算法(对数据的处理,1+2+3),而某些数据比较复杂,诞生了数据结构(struct student{int age,char name[128];}用这个数据结构来表示14岁的tom,struct Student(Tom,14)就成了一个具体的数据。

数据结构是为了算法服务的,所以我将其归入了更广义的算法之列。

论坛徽章:
0
88 [报告]
发表于 2012-04-02 16:21 |只看该作者
pmerofc 发表于 2012-04-02 14:12
我现在弄不清楚的是
究竟是你超越了经典而我落伍了呢
还是你在传播你不正确的一知半解


我至今也没有看到我的理解错在什么地方,你们唯一的理由就是,大师说,所有的经典都说程序=算法+数据结构,而没有解释为什么程序是算法加上数据结构,而不能是算法加上数据。

求高人的指点,让我也好学习学习。

论坛徽章:
0
89 [报告]
发表于 2012-04-02 17:24 |只看该作者
本帖最后由 lsnl8480 于 2012-04-02 17:26 编辑
陈良乔 发表于 2012-04-02 16:21
我至今也没有看到我的理解错在什么地方,你们唯一的理由就是,大师说,所有的经典都说程序=算法+数据结 ...


正如你在上面说的一个例子对1,2,3的累加,1是什么,2是什么,3是什么?这些是经过抽象化后的语言表示,而他们表示的本质是看不见摸不着的,计算机同样不知道那些看不见摸不着的所谓数据,只能给它一个另类的表示,这就是数据结构的作用(外在的抽象结构加内在的物理结构),还以那个累加来讲,或许你会建立一个函数:函数原型为int sum(int iFirst, int iSecond, int iThird),你调用的时候就应该是sum(1, 2, 3);此时iFirst的值为1,这只是通过int这个数据结构对1的一种表示外加存储,而函数中会用到的加法运算也是依托与int的数据结构特性而产生的机器实现。而算法的实现也是依托于数据结构而实现的,大师说"程序=算法+数据结构"我的理解是程序算法依托于数据结构对特定种类数据完成处理。只有经过数据结构对数据进行重新解释,算法才能完成对这些数据的处理,程序才得以完成它的任务.(其中有个人愚见,如有错误,请指正)

论坛徽章:
0
90 [报告]
发表于 2012-04-02 18:00 |只看该作者
lsnl8480 发表于 2012-04-02 17:24
正如你在上面说的一个例子对1,2,3的累加,1是什么,2是什么,3是什么?这些是经过抽象化后的语言表示 ...


可能我们对于数据和数据结构的理解有所不同。用化学上的原子(不考虑更加底层的夸克等等)和分子作一个比方,在我的理解中,分子(CO2)和原子(C,O)都是数据,而将原子组合成分子的结构(一个C,两个O),才是数据结构,它的重点在于结构,他才是一个抽象的概念。

算法可以直接作用于数据,最数据进行处理,就像C+O2=CO2一样,而数据结构的作用,只是将简单的数据(原子)组合成结构更加复杂的数据(分子而已)而已,所以,我认为程序(C+O2=CO2)=算法(+)+数据(C,O2)。而数据结构,只是将两个O组合成一个O2,便于算法处理。

这样的理解,有什么不正却的呢?

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP