[博图][排序]双二叉树排序,超简单法及效率,非递归,非指针.
序言
做一个最简单,最傻的二叉树....因为西门子PLC里面没有这种算法..自己想在西门子PLC里面做一个最优的排序.程序之后会附上.
先在EXCEL实现概念..最后才做程序..
大神请不要笑我.
|
![]() |
|
将数组转换成两颗树....左右比较...将最大值往最后放... 树就会越变越小...会比一般算法快至少一倍速度... 相信这非常简单并容易理解,,希望能帮到一点点...
|
|
|
|
|
想要遍历就必须有公式, 从二叉树节点,得到1维数组的位置.及父节点位置 Node_to_Array_Pos(移:-1, 层:=4, 点:=2, 下:=1, 组=>25, 父=>11)//位移,左:-1,右:0 反之... 从二叉树节点,得到1维数组的位置. Array_to_Node_Pos(组:=25, 移=>0, 层=>4, 点=>3, 下=>1, 父=>11)
有了这个公式,遍历和交换节点数据讲非常简单了...
|
|
|
|
|
|
|
|
|
|
|
|
|
上:看到这里,,我想大家应该知道怎样操作了,,排序效率大大的提升一倍....n!/2 |
|
未完,待续..目标拿6万个数据进行排序. |
我很笨。多努力一点。








浙公网安备 33010602011771号