• 在WPF的Canvas上绘制二叉树


    二叉树是数据结构最重要的部分之一,数据结构据说是学习编程的基础课程,虽然好像和平时工作关系不大,但面试时面试官很喜欢出点数据结构算法来刁难你。

    一直以来,写算法好像只是C/C++的事,一串串数字输出在冰冷的手术台,sorry,是控制台上。但中间的过程,只能画在草纸上,或者像下盲棋一样用用脑汁算。其实我们多数人并不需要到高手的那个境界,只要会走法,能走两步就够了,所以有一个棋盘的话会对我们练习帮助很大。

    下面是我在WPF窗口上画的一个二叉树:

    image

    每个节点都是一个Canvas,里面又包含一个Ellipse和TextBlock。

    节点通过Margin属性来定位。在递归显示时,先计算子节点的Margin,然后再通过父节点和子节点的Margin算出连线的起点和终点坐标。需要注意的是,从上到下,树枝叉的角度要依次递减,不然可能会出现节点重叠或树枝相交。

    虽然刚开始接触WPF,不过看起来不算太难,呵呵。

    下载地址请点击

  • 相关阅读:
    async await异步方法的理解
    前端读取excel
    js如何实现上拉加载更多
    浅谈控制反转与依赖注入
    Java实现二叉树和遍历
    Linux生产故障排查
    排序算法之快速排序
    排序算法之堆排序
    树和二叉树知识整理
    常用的数据结构简单整理
  • 原文地址:https://www.cnblogs.com/XmNotes/p/2378478.html
Copyright © 2020-2023  润新知