- 博客(8)
- 资源 (6)
- 收藏
- 关注
原创 python数据结构——二叉搜索树
一、二叉搜索树**二叉搜索树(BST binary search tree)**是一种比较特殊的二叉树,表现为任意节点的值都比左孩子的值要大,而且小于等于右孩子的值,采用中序遍历BST(Binary Search Tree)就可以的到排序好的元素集合,而且插入删除的时间消耗也比较合理,但是有一个缺点就是内存开销有点大。二叉搜索树的性质1,任意节点x,其左子树中的key不大于x.key,其右子...
2018-10-25 20:31:35 1617
原创 python数据结构——二叉堆
一、堆数据结构 堆(heap) 是一种优先队列。队列是一种先进先出的数据结构。队列的一个重要变种称为优先级队列。使用优先队列能够以任意顺序增加对象,并且能在任意的时间(可能在增加对象的同时)找到(也可能移除)最小的元素,也就是说它比python的min方法更加有效率。在优先级队列中,队列中的项的逻辑顺序由它们的优先级确定。最高优先级项在队列的前面,最低优先级的项在后面。因此,当你将项排入优先级...
2018-10-25 10:49:44 577
原创 python数据结构——树
一、树的定义及相关概念树的例子:生物学的分类树、文件系统、网页一个节点的所有子节点独立于另一个节点的子节点。每个叶节点是唯一的。树的概念节点、边、根、路径、子节点、父节点、兄弟节点、子树层数:节点 n 的层数为从根结点到该结点所经过的分支数目。 根节点的层数为零。高度:树的高度等于树中任何节点的最大层数。树的定义:树由一组节点和一组连接节点的边组成。树具有以下属性:树的一个节...
2018-10-24 21:35:05 2659
原创 C++ 双链表
一、什么是双链表双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。二、双链表的基本操作创建、遍历、测长、插入、删除#include <iostream>#include <stdio.h>using name...
2018-10-23 11:16:43 437
原创 C++ 单链表
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer),简单来说链表并不像数组那样将数组存储在一个连续的内存地址空间里,它们可以不是连续的因为他们每个节点保存着下一个节点的引用(地址),所以较之数组来说这是一个优势。...
2018-10-22 21:07:05 1735 1
原创 用C++实现两个元素相同但顺序不同的等长数组的正确匹配
《程序员面试宝典》第五版第96页题目如下:有两等长数组A,B,所含元素相同,但顺序不同,只能取得A数组某值和B数组某值进行比较,比较结果为大于,小于,等于,但是不能取得同一数组A或者B中两个数进行比较,也不能取得某数组中的某个值。写一个算法实现正确匹配(即A数组中某值与B数组中某值等值)。最简单的方法:循环加判断,复杂度O(n^2)代码如下:#include <iostream...
2018-10-17 17:36:10 1616 1
原创 用c++实现一个n*n矩阵,矩阵沿着45度递增,形成zigzag数组
程序员面试宝典上的一道题:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组(JPEG编码里取像素数据的排列顺序),请问如何用C++实现?(中国台湾著名硬件公司2007年11月面试题)(自程序员面试宝典第五版95页)觉得这道题比较经典,难度适中,因此记录下来。zigzag数组形状如下:/*打印zigzag数组 1 5 6 14 15 27 ...
2018-10-17 16:40:41 1747
原创 区块链上的隐私保护——零知识证明
一、什么是零知识证明“零知识证明”的定义是:证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。举个简单的例子:A要向B证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开锁,而其他任何方法都打不开。这时有2个方法: (一)A把钥匙出示给B,B用这把钥匙打开该房间的锁,从而证明A拥有该房间的正确的钥匙。 (二)B确定该房间内有某一物体,A用自己拥有的钥匙打...
2018-10-11 10:10:26 4776
基于ELMo词向量的textCNN中文文本分类python代码
2020-06-22
pcDuino通过VNC连win10电脑时RNDIS驱动
2017-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人