- 博客(18)
- 收藏
- 关注
原创 排序查找算法
二分查找递归function bin_search($array, $low, $high, $target){ if ( $low <= $high){ var_dump($low, $high);echo "\n"; $mid = intval(($low+$high)/2 ); if ($array[$mid] == $target){ return true; }els
2021-08-20 10:57:51 123
原创 composer 安装好后,装不了包的解决方案
1. 换镜像 composer config -g repo.packagist composerhttps://mirrors.aliyun.com/composer/2.proc_open,proc_get_status 函数 缺失报错异常消息:The Process class relies on proc_open, which is not available on your PHP installation解决办法:修改 php.ini 配置。把 disable_functions.
2020-07-11 16:08:04 487
原创 时间复杂度
时间复杂度的要点时间复杂度的定义–随着数据规模变化程序所需执行时间的一个趋势如何预估时间复杂度 (加法原则,乘法原则)时间复杂度种类最小时间复杂度最坏时间复杂度平均时间复杂度均摊时间复杂度掌握时间复杂度的分析是学好数据结构和算法的第一步。加油!!!...
2019-11-08 11:30:39 152
原创 解决 ubuntu16.04 下,py2,py3共存时安装虚拟环境 virtualenvwrapper 不存在的问题
ubuntu16.04 下,py2,py3共存运行virtualenvwrapper会报错如下:/usr/bin/python: No module named virtualenvwrapperpip3安装virtualenvwrapper时,实际上是安装在python3下,python2下没有装。但是virtualenvwrapper的脚本还是默认使用的/usr/bin/p...
2019-05-18 09:15:35 337
原创 解决虚拟机VMware运行Ubuntu时无法和主机之间复制粘贴的问题
执行以下命令并重启即可解决sudo apt-get autoremove open-vm-toolssudo apt-get install open-vm-toolssudo apt-get install open-vm-tools-desktop
2019-05-18 09:12:50 18351 22
原创 git常用命令总结
git的使用总结git的本地操作git init (初始化)git status (查看本地代码状态,比如有无加到暂存区,有无加到本地版本库)git add (加到暂存区 常用git add .)git commit -m “描述” (加到本地版本库)git rm (删除文件并删除本地跟踪)git推送到远程版本库git push <远程仓库地址:...
2019-03-09 22:00:21 138
转载 数据库设计规范
一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高(2)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险,节省空间(3)数据表、数据字段必须加入中文注释解读:N年后谁tm知道这个r1,r2,r3字段是干嘛的(4)禁止使用存储过程、视图、触发器、Event解读:高并发大...
2019-03-09 21:41:12 155
原创 01-复杂度分析
数据结构与算法,一定离不开时间、空间复杂度分析 复杂度的分析大致概要如下图: 大 O 时间复杂度表示法:T(n) = O( f(n) )表示代码执行时间随数据规模增长的变化趋势 时间复杂度的分析方法1. 只关注循环执行次数最多的一段代码大 O 这种复杂度表示方法只是表示一种变化趋势。我们通常会忽掉公式中的常量、低阶、系数,只需要记录一个最大阶的量级 时间...
2019-02-15 10:46:33 210
原创 数据结构与算法-求二叉树某个节点的前驱节点与后继节点
二叉树的后继节点什么是二叉树的后继节点呢? 就是这颗二叉树中序遍历顺序中,当前节点的下一个节点称为这个当前节点的后继节点。与之相反的是前驱节点,前驱节点,就是二叉树中序遍历的顺序中,当前节点的上一个节点。如下图: 那么下面我们来看一道具体的面试题 : 【题目】 现在有一种新的二叉树节点类型如下,在此节点类型的二叉树中找到一个节点的后继节点class Node...
2019-01-23 11:14:17 2227
原创 数据结构与算法-二叉树的遍历(含非递归)
二叉树的遍历树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。那么树的两种重要的遍历模式是深度优先遍历和广度优先遍历,深度优先一般用递归,广度优先一般用队列。一般情况下能用递归实现的算法大部分也能用堆栈来实现。 广度优先遍历(层次遍历)从树的root开始,从上到下...
2019-01-22 12:00:04 291
原创 数据结构与算法-二叉树
二叉树的基本概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二叉树的性质(特性)性质1: 在二叉树的第i层上至多有2^(i-1)个结点(i>0)性质2: 深度为k的二叉树至多有2^k - 1个结点(k>0)性质3: 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,...
2019-01-22 09:54:38 210
原创 数据结构与算法-树与树的算法开篇
树与树算法树的概念树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点; 没有父节点的节点称为根节点; 每一个非根节点有且只有一个父...
2019-01-22 09:32:47 156
原创 数据结构与算法-链表之双向链表
双向链表一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。实现:class Node(object): """节点""" def __init__(self, elem): self.elem = elem ...
2019-01-17 10:45:18 149
原创 数据结构与算法-链表之单向循环链表
单向循环链表单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。实现:class Node(object): """节点""" def __init__(self, elem): self.elem = elem self.next = Noneclass SingleLinkList...
2019-01-17 10:42:54 169
原创 数据结构与算法-链表定义和单向链表的实现
链表为什么需要链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。...
2019-01-17 09:59:22 413
原创 数据结构与算法-顺序表
Python中的顺序表Python中的list和tuple两种类型采用了顺序表的实现技术,具有前面讨论的顺序表的所有性质。tuple是不可变类型,即不变的顺序表,因此不支持改变其内部状态的任何操作,而其他方面,则与list的性质类似。list的基本实现技术Python标准类型list就是一种元素个数可变的线性表,可以加入和删除元素,并在各种操作中维持已有元素的顺序(即保序),而且还...
2019-01-17 09:49:57 227
原创 数据结构和算法-入门篇
开篇词:这是自学路上的开篇博客,记录自己在数据结构和算法的学习心得。评价一个算法的好坏,我们通常用时间复杂度 O 来衡量,它描述的是一个算法的处理规模量级的所需时间,大体上说,时间复杂度越低,这个算法就越好,当然这里只是讨论时间复杂度,还有其他影响算法的要素,比如空间复杂度,空间复杂度也就是运行规模为n的算法需要多少内存空间。还有机器之间的差异也会造成同种算法之间的运行效率不同。 注...
2019-01-17 09:39:55 157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人