刚毕业了,这是毕业设计的java web项目中的一个功能,使用鱼刺图进行辅助管理,在做的过程中,没有找到国内有公开的研究资料,不管是哪一种语言,所以就自己做了一个java的鱼刺图生成插件,虽然毕业设计做完了,不过这个程序就像自己的孩子一样,还有很多可以完善的地方,舍不得停止,也就还在继续优化下去,在做这个程序的时候,先是使用了一种比较粗糙的思想去实现生成鱼刺图,虽然也可以生成,但是生成的图和实现算法都过于粗糙,因此仅在毕业论文中提及,在本文中不打算介绍,本文将介绍本人目前刚完成的实现算法,为有需要的人提供一些参考。
目前的实现算法中,使用了栈的思想来进行实现。使用该算法思路如下(该算法初始设定为所有“鱼刺”可以按任意顺序存入链表中):
1)将初始的顺序结构“鱼刺”链表转换为树结构“鱼刺”链表;
2)计算各个“鱼刺”文本块像素大小;
3)将树结构“鱼刺”树按顺序压入栈中;
4)从栈顶开始遍历,如果当前“鱼刺”的“子鱼刺”数为0,则将该“鱼刺”像素大小赋值为最小的像素大小&#x