哲:果然改不了那套思维的“束缚”

本文从哲学视角探讨程序的本质,认为程序由0和1组成,如同宇宙由有和无构成。程序的本质是一种结构(数据)与两种方法(条件和循环)的结合,数据+算法通过这些方法组合出各种程序。

还在入门边缘就开始思考大而化之的东西了。

外哲跨考对我哲学思维的训练果然没有浪费。

哈哈哈,还没入门就开始思考比较深层次的存在了,可怕,,,虽然很讨厌众人把什么都冠以“哲学”之名。确实令人反感。所以吧,自己最好别那样做。

克制住,别在这谈哲学。。。。。

不过,

随便翻了翻,确实有一小部分人进行这方面的思考,有点意思。

=================================================

算法的哲学思考

1       算法的哲学思考

算法在“在线新华字典”中的解释是“解题方案的准确和完整的描述。是一个有穷的动作步骤序列,只有一个初始态,每个动作只有一个后继动作,一步一步地直到序列结束。是解题从开始到结束的动作全过程。”。“算”字的解释是“核计,计数”,“法”字的解释是“体现统治阶段的意志,国家制定和颁布的公民必须遵守的行为规则”。

1.1  算法的定义

算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。   

 

哲学的角度来思考程序

这几天我对程序有了新的认识,可以从哲学的角度来思考程序,暂且先不提程序界各种五花八门的东西,那些的表现不同可本质是一样的,所有的程序无非就是0和1组成的,就好像这个世界是由无数个有和无组成一样,空间里不是有就是无,而很多个有之间的各种组合,变成了世界上最小的粒子,无数个这种最小的粒子又组成了现在这个五彩缤纷的世界,就好像程序里无数个1和0的各种组合变成数不清的二维码,我们知道所有的程序无非就是一种结构(数据)和两种方法(条件和循环),数据通过这两种方法可以变化多端,而数据本身的维度也是比较大的,我们现在认识的这个世界可以假想成多维数组,各种分子以及原子存放在一级同一维度的数组里,产生了各种不同的物,各种细胞以及基因存放在一级同一维度的数组里,产生了人,人与人的关系就好像一个函数一样,通过一些方法可以使一些人结为夫妻,或者成为拜把兄弟等等,所以将来的世界是由数据组成这个说法一点都不为过,大数据的本质其实不过是把世界的每一个事物绑定一个数据而已,需要的时候拿出来调用一下就好了

或许这个世界有些东西是没有办法变为数据的,比如人的灵魂,但是即便如此它也有可能是因为和数据不在一个维度而已,而其不为我们所知的父元素可以将其与空间和时间放在一个维度里,只是那个维度我们无法想象罢了。
 

令人难受的是一逗(号)到底,,,,

不过核心总结的挺不错。

 

容我换成我想说的(删掉废话):

所有的程序无非就是0和1组成,就好比此世界是由无数个有和无组成。从有无角度思考:空间里不是有就是无,无数个有无组合成了五彩缤纷的世界,就好像程序中无数个1和0组合出五花八门的程序。

本质:所有程序无非就是一种结构(数据)和两种方法(条件和循环)的组合,数据+算法通过这两种方法组合出各种程序,但逃不出此本质。仅此而已。

 

 

下载方式:https://pan.quark.cn/s/a4b39357ea24 布线问题(分支限界算法)是计算机科学和电子工程领域中一个广为人知的议题,它主要探讨如何在印刷电路板上定位两个节点间最短的连接路径。 在这一议题中,电路板被构建为一个包含 n×m 个方格的矩阵,每个方格能够被界定为可通行或不可通行,其核心任务是定位从初始点到最终点的最短路径。 分支限界算法是处理布线问题的一种常用策略。 该算法与回溯法有相似之处,但存在差异,分支限界法仅需获取满足约束条件的一个最优路径,并按照广度优先或最小成本优先的原则来探索解空间树。 树 T 被构建为子集树或排列树,在探索过程中,每个节点仅被赋予一次成为扩展节点的机会,且会一次性生成其全部子节点。 针对布线问题的解决,队列式分支限界法可以被采用。 从起始位置 a 出发,将其设定为首个扩展节点,并将与该扩展节点相邻且可通行的方格加入至活跃节点队列中,将这些方格标记为 1,即从起始方格 a 到这些方格的距离为 1。 随后,从活跃节点队列中提取队首节点作为下一个扩展节点,并将与当前扩展节点相邻且未标记的方格标记为 2,随后将这些方格存入活跃节点队列。 这一过程将持续进行,直至算法探测到目标方格 b 或活跃节点队列为空。 在实现上述算法时,必须定义一个类 Position 来表征电路板上方格的位置,其成员 row 和 col 分别指示方格所在的行和列。 在方格位置上,布线能够沿右、下、左、上四个方向展开。 这四个方向的移动分别被记为 0、1、2、3。 下述表格中,offset[i].row 和 offset[i].col(i=0,1,2,3)分别提供了沿这四个方向前进 1 步相对于当前方格的相对位移。 在 Java 编程语言中,可以使用二维数组...
源码来自:https://pan.quark.cn/s/a4b39357ea24 在VC++开发过程中,对话框(CDialog)作为典型的用户界面组件,承担着与用户进行信息交互的重要角色。 在VS2008SP1的开发环境中,常常需要满足为对话框配置个性化背景图片的需求,以此来优化用户的操作体验。 本案例将系统性地阐述在CDialog框架下如何达成这一功能。 首先,需要在资源设计工具中构建一个新的对话框资源。 具体操作是在Visual Studio平台中,进入资源视图(Resource View)界面,定位到对话框(Dialog)分支,通过右键选择“插入对话框”(Insert Dialog)选项。 完成对话框内控件的布局设计后,对对话框资源进行保存。 随后,将着手进行背景图片的载入工作。 通常有两种主要的技术路径:1. **运用位图控件(CStatic)**:在对话框界面中嵌入一个CStatic控件,并将其属性设置为BST_OWNERDRAW,从而具备自主控制绘制过程的权限。 在对话框的类定义中,需要重写OnPaint()函数,负责调用图片资源并借助CDC对象将其渲染到对话框表面。 此外,必须合理处理WM_CTLCOLORSTATIC消息,确保背景图片的展示不会受到其他界面元素的干扰。 ```cppvoid CMyDialog::OnPaint(){ CPaintDC dc(this); // 生成设备上下文对象 CBitmap bitmap; bitmap.LoadBitmap(IDC_BITMAP_BACKGROUND); // 获取背景图片资源 CDC memDC; memDC.CreateCompatibleDC(&dc); CBitmap* pOldBitmap = m...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值