转眼过去社会实践已经过去了一周多的时间,根据我队“理实交融”软件开发程序设计实践团队的计划安排,今天结束了DFS与BFS的学习。DFS和BFS是算法设计中的基本技术,是必须要熟练掌握的。在这段时间内我队队员纷纷表示收获颇多,自己的编程能力有了很大的进展。在编程能力进步的同时,我队队员仍时刻记得“人人为我,我为人人”的团队精神。在学习之余不忘进行学习新的交流与算法视频的录制。
今天上午,我队队员17级计科绳金龙同学分享了树状数组算法讲解视频。树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值(如果加入多个辅助数组则可以实现区间修改与区间查询)。这种数据结构(算法)并没有C++和Java的库支持,需要自己手动实现。在Competitive Programming的竞赛中被广泛的使用。树状数组和线段树很像,但能用树状数组解决的问题,基本上都能用线段树解决,而线段树能解决的树状数组不一定能解决。相比较而言,树状数组效率要高很多。树状数组的重要性显而易见,在此次的分享交流中我队队员对算法的学习一定会有更深刻的认识!
http://www.dxsbao.com/shijian/269161.html 点此复制本页地址