随笔分类 -  2结构与算法

结构与算法是计算世界的基石,而算法更是计算世界里迷人的明珠。
摘要:逐步尝试,一步步探索前进。 阅读全文
posted @ 2024-07-13 20:49 琴水玉 阅读(73) 评论(0) 推荐(0) 编辑
摘要:数据结构和算法,是软件组件的基本组成结构,是解决很多疑难编程问题的强有力的法宝,也是程序员装备自身编程技能的一件利器。 阅读全文
posted @ 2023-04-17 11:10 琴水玉 阅读(275) 评论(0) 推荐(0) 编辑
摘要:构造与使用分离,即是在构造的时候抽取所需的必要信息,而在使用的时候去构建所需要功能,而不是边构建边使用,将构建与使用耦合在一起,后续如果有需求变更,改动就会比较麻烦。 阅读全文
posted @ 2022-01-27 22:43 琴水玉 阅读(197) 评论(2) 推荐(1) 编辑
摘要:位是程序世界的本源。位向量(位的顺序数组)的空间效率以及位运算的高效,使得位运算深受资深程序员的喜爱。位运算广泛应用于科学计算、哈希计算、存在性检测、状态位组合标识等场景。掌握位运算,就像携带了一把匕首,能够有效解决不少问题。 阅读全文
posted @ 2020-11-23 18:33 琴水玉 阅读(299) 评论(0) 推荐(0) 编辑
摘要:在本文中,我们通过一个二叉树的路径寻找面试题,讨论了递归和非递归解法,探讨了非递归过程中遇到的问题,模拟了二叉树的回溯,对于理解二叉树的访问是很有益的。而对于回溯算法的理解,锻炼了非线性思维。技术人的精神,就是追根究底,把一个事情彻底弄清楚吧! 阅读全文
posted @ 2020-10-27 06:09 琴水玉 阅读(723) 评论(6) 推荐(2) 编辑
摘要:通过编写程序,从 JSON 串中自动生成对应的对象模型,使得这个过程自动化,让类似事情的效率成倍的增长了。让效率成倍增长的有效之法就是提升代码和方案的复用性,自动化手工处理。 阅读全文
posted @ 2020-04-02 07:50 琴水玉 阅读(1418) 评论(0) 推荐(0) 编辑
摘要:本文展示了一种方法, 将具有内在关联性的JSON字符串转成对应的嵌套对象。 当处理复杂业务关联的数据时,相比过程式的思维,转换为对象的视角会更容易处理和使用,代码也更容易理解和维护。顺便踩了BeanUtils.populate的一个小坑:当使用 BeanUtils.populate 将 map 转为对象时,对象的属性命名要尤其注意: 第二个字母不能是大写! 阅读全文
posted @ 2018-08-14 23:15 琴水玉 阅读(3398) 评论(1) 推荐(0) 编辑
摘要:本文讲解了如何使用kNN算法来实现识别潜在续费商家。kNN算法依赖于模型的正确性。如果分类标签值与样本特征值有非常密切的关联,使用简单的kNN算法即可得到有效的结果,而且不限于特定的应用领域。只要能够将领域问题转化为样本特征值矩阵,就能使用 kNN 算法来进行求解。 阅读全文
posted @ 2018-03-11 11:00 琴水玉 阅读(528) 评论(0) 推荐(0) 编辑
摘要:一个略复杂的数据映射聚合示例。演示了Java8Map的用法,代码重构及Function编程。 阅读全文
posted @ 2017-11-10 08:55 琴水玉 阅读(1207) 评论(0) 推荐(0) 编辑
摘要:使用Java语言递归地将嵌套Map里的字段名由驼峰转下划线。通过此例可以学习如何递归地解析任意嵌套的List-Map容器结构。难度:初级 阅读全文
posted @ 2016-11-07 20:04 琴水玉 阅读(6184) 评论(0) 推荐(0) 编辑
摘要:使用Python在给定整数序列中找到和为100的所有数字组合。可以学习贪婪算法及递归技巧。难度:初级 阅读全文
posted @ 2016-07-09 17:53 琴水玉 阅读(4692) 评论(0) 推荐(0) 编辑
摘要:迷宫问题是栈的典型应用,栈通常也与回溯算法连用。在回溯算法的实现中,通常要使用栈来保存行进中的位置及选项。本文使用栈的数据结构及相应的回溯算法实现迷宫创建及求解,带点JavaGUI 的基础知识。 难度:中级 阅读全文
posted @ 2016-05-08 00:15 琴水玉 阅读(8390) 评论(7) 推荐(2) 编辑
摘要:通过使用Python编写一个解析Json结构对比的小工具,来提炼编程求解的通用步骤和技巧。 编程求解问题: 确定问题与求解方向 -> 结构解析与递归 -> 算法设计 -> 编程与测试 -> 总结。难度: 初级 阅读全文
posted @ 2016-04-11 21:01 琴水玉 阅读(5251) 评论(0) 推荐(0) 编辑
摘要:使用减一技术生成N个自然数的排列及N个数的集合的幂集。 减一技术,与二分搜索一样,是一种通用算法设计技术。它是分治法的一种特殊形式,通过建立问题实例P(n) 与问题实例P(n-1)的递推求解关系式而实现。Java实现。难度: 初级 阅读全文
posted @ 2014-10-20 19:05 琴水玉 阅读(1085) 评论(0) 推荐(0) 编辑
摘要:Java实现动态规划法求解0/1背包问题。难度:初级 阅读全文
posted @ 2014-10-20 19:03 琴水玉 阅读(3458) 评论(0) 推荐(0) 编辑
摘要:算法,即计算的方法,使用计算的思想、方法、工具和技术来实现问题求解的思路和途径。计算机提供了计算的能力和硬件设施;算法则提供了计算的思想和软件技术,更好地发挥计算机的潜能。总结算法,应用算法。算法,当之无愧是计算机科学的灵魂和基石。 阅读全文
posted @ 2014-10-20 19:02 琴水玉 阅读(1547) 评论(0) 推荐(0) 编辑
摘要:使用位图结构生成真值组合。Java实现。难度:初级。 阅读全文
posted @ 2014-10-20 19:01 琴水玉 阅读(668) 评论(0) 推荐(0) 编辑
摘要:《算法设计与分析基础》(第2版),(美) Anany Levitin 著, 潘彦译。总体来说,可读性很强,趣味性强,实用性尚可,在理论性和实用化之间进行了很好的平衡和折衷,有很好的启发作用。如果你希望有一本容易理解的而又具备一定深度的算法入门书籍,那么,本书可算是上佳的首选。 阅读全文
posted @ 2014-10-20 19:00 琴水玉 阅读(11086) 评论(0) 推荐(0) 编辑
摘要:使用位图技术实现N个互不相等的数的排序。分别使用Java和C实现。难度:初级。 阅读全文
posted @ 2014-10-20 18:59 琴水玉 阅读(1100) 评论(0) 推荐(0) 编辑
摘要:实现一个比较实用的二叉查找树,其中包括动态的插入、删除操作;查询给定关键字、最小关键字、最大关键字;获取二叉树的有序列表(用于排序)等。难度:初级。 阅读全文
posted @ 2014-10-20 18:56 琴水玉 阅读(878) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示