05 2022 档案
摘要:从技术角度看,Border是一个装饰元素(decorator),装饰元素是特定类型的元素,通常用于在一个对象周围添加某些种类的图形装饰。所有装饰元素都继承自System.Windows.Controls.Decorator类。大多数装饰元素设计用于特定控件。例如,Button控件使用ButtonCh
阅读全文
摘要:一. 总体介绍 WPF的布局控件都在System.Windows.Controls.Panel这个基类下面,使用 WPF提供的各种控件在WPF应用程序中界面进行布局,同时对各种子控件(如按钮、文本框,下拉框等)进行排列组合。 Pane类的公共属性太多了。就简单介绍几个常见的属性如下表。 名称 说明
阅读全文
摘要:如果我们只需要在画布中摆放少量的图形元素,那么直接使用Line、Rectangle这些对象是没有问题的。但当我们的图形元素数量巨大(比如说10万个),或是刷新频繁(比如说50毫秒刷新一次)时,WPF就会消耗大量的资源和出现卡顿的现象。为了解决这个问题,我们使用WriteableBitmap,用它作为
阅读全文
摘要:Canvas 画布 总结 1、canvas 中的元素通过canvas的附件属性left|right、bottom|top 来布局, 不能同时使用left 和right或者top和bottom 2、zindex控制层级。 3、 Canvas画布为容器控件,用于定位,它不会自动调整内部元素的排列(Arr
阅读全文
摘要:前言 在WPF/Silverlight当中,如果已经存在的Element无法满足你特殊的需求,你可能想自定义Element,那么就有可能会面临重写MeasureOverride和ArrangeOverride两个方法,而这两个方法是WPF/SL的Layout系统提供给用户的自定义接口,因此,理解La
阅读全文
摘要:阅读本章之前需要的知识 属性的本质 工厂设计模式 https://docs.microsoft.com/zh-cn/dotnet/desktop/wpf/properties/dependency-properties-overview?view=netdesktop-6.0 依赖属性Depende
阅读全文
摘要:哈夫曼树 定义 在含有n个带权叶结点的二叉树中,其中带权路径长度(WPL)最小的二叉树称为哈夫曼树,也称最优二叉树 构造哈夫曼树 给定n个权值分别为w1, w2..., wn的结点,构造哈夫曼树的算法描述如下:1)将这n个结点分别作为n棵仅含一个结点的二叉树,构成森林F。2)构造一个新结点,从F中选
阅读全文
摘要:平衡二叉树 AVL树可视化工具 AVL树可视化工具(旧金山大学 (usfca)|数据结构可视化工具) 自定义泛型平衡二叉树源码:https://files.cnblogs.com/files/blogs/700042/avlTreeT.rar?t=1654089460 一、平衡二叉树定义 平衡二叉树
阅读全文
摘要:定义 二叉查找树(BST:Binary Search Tree),也称为二叉查找树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;
阅读全文
摘要:树的先序遍历(深度优先) 1)和二叉树的先序遍历一样。 2)转化成二叉树,然后执行二叉树先序遍历 树的后序遍历(深度优先) 2)后根遍历。若树非空,先依次对每棵子树进行后根遍历,最后再访问根结点。 树的层次遍历(广度优先) 和二叉树一样 森林的先序遍历 (深度优先) 1)等同于一次对每颗子树进行先序
阅读全文
摘要:线索二叉树(引线二元树) 的定义如下: “一个二叉树通过如下的方法“穿起来”:所有原本为空的右(孩子)指针改为指向该节点在中序序列中的后继,所有原本为空的左(孩子)指针改为指向该节点的中序序列的前驱。 传统的二叉树一般都是以链式存储的结构来表示。这样,二叉树中的每个节点都可以用链表中的一个链节点来存
阅读全文
摘要:概览: 满二叉树 满二叉树。一棵高度为h(从0开始,root=0),且含有2h+1-1个结点的二叉树 特点:①只有最后一层有叶子结点 ②不存在度为1的结点③按层序从0开始编号,结点i的左孩子为2i+1,右孩子为2i+2:结点i的父节点为i=0,是根结点无父结点,i!=0,父结点parent=[(i-
阅读全文
摘要:学习路径 然后去leetcode刷简单的题目。 然后去leetcode刷简单的题目。 复习所有 在刷leetcode难部分 树的定义 树可以用递归的形式来定义:树T是由n(n>=0)个结点组成的有限集合,他或者是颗空树,或者包含一个根结点和零或若干棵互不相干的子树。 可以使用广义表(纯表)的形式树结
阅读全文
摘要:数组 数组是一种数据集合,数据元素按次序存储于一个地址连续的内存空间中。数组是其他数据结构实现顺序存储的基础。 线性表结构可以具有弹性,既可以是简单的数组,也可以扩展为复杂的数据结构 广义表逻辑上数组可以看成二元组<下标,值>,哈希表也是二元组<健,值>C#语言中,数组都是在运行时分配所需要的空间。
阅读全文
摘要:C# 串的概念及类型定义 串是由n(n>=0)个字符a0,a1,a2,…,an-1组成的有限序列,记作:String={a0,a1,a2,…,an-1}其中,n表示串的字符个个数,称为串的长度。若n=0,则称为空串,空串不包含任何字符。1.字符及字符串的编码与比较每个字符根据所使用的字符集及编码方案
阅读全文
摘要:队列 队列又称为“先进先出”(FIFO)线性表限定插入操作只能在队尾进行,而删除操作只能在队首进行,Front对头指针指向第一元素;Rear队尾指针指向下一个入队的元素。队列也可以采用顺序存储结构或链表结构来实现,分别称为顺序队列和链队列空队列:front == rear; 顺序队列 用一组连续的存
阅读全文
摘要:栈的简介 栈是一种线性的逻辑结构,是操作受限的线性表,可依赖数组和链表这两种物理结构实现,是一种FILO的结构。以下是生活中遇到的栈的结构: 栈的形式化定义为 栈(Stack)简记为 S,是一个二元组,顾定义为S = (D, R)其中:D 是数据元素的有限集合;R 是数据元素之间关系的有限集合。 栈
阅读全文
摘要:线性表的实现方式 线性表的实现方式有下面几种 顺序表 :数组 单链表:list<> 单向循环链表 双向链表:linkedlist<> 循环链表: 自定义顺序表 public class SequenceList<T> { private T[] items; private int count; p
阅读全文
摘要:问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 C# 代码 方法 :递归 优点:代码少 缺点:效率低,堆栈会溢出 其实这道
阅读全文
摘要:大纲 算法时间复杂度 C# 中的数据结构 时间复杂度 让算法先运行,事后统计运行时间?存在什么问题?·和机器性能有关,如:超级计算机v.s.单片机和编程语言有关,越高级的语言执行效率越低和编译程序产生的机器指令质量有关·有些算法是不能事后再统计的,如:导弹控制算法算法时间复杂度事前预估算法时间开销T
阅读全文
摘要:原文:https://zhuanlan.zhihu.com/p/78094287 数据结构是我们软件开发中最基础的部分了,它体现着我们编程的内功。大多数人在正儿八经学习数据结构的时候估计是在大学计算机课上,而在实际项目开发中,反而感觉到用得不多。其实也不是真的用得少,只不过我们在使用的时候被很多高级
阅读全文
摘要:原文:https://zhuanlan.zhihu.com/p/50479555 算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。 那么我们应该如何去衡量不同算法之间的优劣呢?
阅读全文
摘要:多元组 多元组,也称为顺序组(英语:Tuple),泛指有限个元素所组成的序列。在数学及计算机科学分别有其特殊的意义。 数学上,n元组或多元组是对象个数有限的序列。元组由三部分组成:边界符、分隔符和元素。通常采用的边界符是小括号“ ( ) {\displaystyle (\ )} ”,分隔符是逗号。
阅读全文
摘要:队列Queues,是一种遵循先进先出的原则的集合,在.netCore中微软给我们提供了很多个类,就目前本人所知的有三种,分别是标题提到的:Queue、ConcurrentQueue、BlockingCollection,下面分别介绍一下。 一、Queue Queue适用范围:单线程的队列,Queue
阅读全文
摘要:原文链接:https://github.com/StephenCleary/AsyncEx A lot of developers start using this library for AsyncLock, an async-compatible mutual exclusion mechani
阅读全文