学习任何一种技术都应该先清楚它的基本概念,这是学习任何知识的起点!本文是讲述数据结构的基本概念,适合对数据结构已经有一定基础的程序员,更是适合想要学习数据结构的code一族!让我们开始PHP数据结构的篇章吧! 一.基本概念 (一)编写解决实际问题的程序的一般过程: 1.如何用数据形式描述问题,即将问题抽象为一个数学模型: 2.问题所涉及到的数据量的大小及数据之间的关系: 3.如何在计算机中储存数据及体现数据之间的关系: 4.处理数据时需要对数据执行的操作: 5.编写的程序的性能是否良好. (二)…
php数据结构课程---1.数据结构基础介绍(程序是什么) 一.总结 一句话总结: 程序=数据结构+算法 设计好数据结构,程序就等于成功了一半. 数据结构是程序设计的基石. 1.数据的逻辑结构和物理结构是什么? 逻辑结构:比如线性链表,树,图 物理结构:就是数据的存储结构 2.数据的物理存储方式有哪些,并且各自的优缺点是什么? 顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元里,元素之间的关系由存储单元的邻接关系来体现.一般适用于线性的数组和链表,对于非线性的树和图则不适合. 链接存…
数据结构的C语言基础 1. 数据输出 printf()函数为格式输出函数,它存在于标准函数库中,在C语言程序中可以直接调用,但程序源文件的开头必须包含以下命令: #include < stdio.h >或#include "stdio.h " %-md:数据以左对齐占m列形式输出,数位不足时从右侧补充空格. .(小数点):用于分隔域宽与输出精度,通常与输出宽度和数据精度结合使用. 2. 一维数组 对一维数组的初始化有两种方式:一种是在数组定义时进行初始化,另一种是先定义数…
laravel基础课程---1.laravel安装及基础介绍(laravel如何安装) 一.总结 一句话总结: [修改composer镜像地址].[明确laravel的安装要求].[安装指定版本的laravel].[查看laravel 版本].[配置虚拟主机].[地址栏访问] [修改composer镜像地址]:composer config -g repo.packagist composer https://packagist.phpcomposer.com [安装指定版本的laravel]:…
php数据结构课程---4.栈(是什么) 一.总结 一句话总结: 栈(stack),它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算. 1.栈的链表实现? 定义node,设置属性data,prev 定义stack类,设置栈顶top,size 编写出栈push(),pop()函数 返回栈所有数据函数getAll() <?php class Node{ public $data = null; public $prev = null; public function __cons…
php数据结构课程---3.队列(队列实现方法) 一.总结 一句话总结: 1.数据实现:适用于功能不复杂的情况 2.链表实现:受限链表,只能队头队尾操作:适用于功能复杂情况 1.队列的数组实现注意点? array_push() + array_shift() shift: [ʃɪft] :v. 转移:去除(污迹):n. 转移:改变 shift 英 [ʃɪft]  美 [ʃɪft]  v. 转移:快速移动:变换:改变观点:推卸(责任):振作:移位:狼吞虎咽地吃:去除(污迹):销售,出售:换挡:轮班…
php数据结构课程---2.链表(php中 是如何实现单链表的(也就是php中如何实现对象引用的)) 一.总结 一句话总结: php是弱类型语言,变量即可表示数值,也可表示对象:链表节点的数据域的值就是数值,链表节点的指针域的值就是对象(new Node()出来的产物) 用class来构建节点,也用class来构建比如单链表啊,双链表啊 1.链表是什么? 链表是一种物理存储(内存)单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过对象引用来实现的. 节点=数据域+下一个结点的引用 链表由一…
php数据结构课程---7.队列实战 一.总结 一句话总结: 注意条件:注意循环的条件(比如while循环打印队列元素时),注意if的条件 把问题想清楚:比如链表操作初次插入元素和后面再插,效果是不一样的,要分清楚 1.php创建数组的方法? $queue1=array(); 而不是 new Array(),也就是要注意php里面的对象化编程程度 $queue1=[]; 2.php中$arr.array_push()这样的方式使用函数对么? 不对,这是js中的使用方式(对象使用方法),php中为…
php数据结构课程---6.常见排序有哪些 一.总结 一句话总结: 冒泡排序(Bubble sort):依次交换 选择排序 ( Selection Sort ):在未排序序列中找到最小(大)元素,依次存放到已排序序列中 插入排序(Insertion sort):将未排序数据插入到已排序的序列之中 快速排序 ( Quick sort ):分治:简单写法:用数组 1.排序算法的稳定性是什么? 稳定的话:就是相同值,该在前,还是在前 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序…
php数据结构课程---5.树(树的 存储方式 有哪些) 一.总结 一句话总结: 双亲表示法:data parent:$tree[1] = ["B",0]; 孩子表示法:data firstChild:firstChild把他的所有兄弟都用链表存起来 双亲孩子表示法:比孩子表示法,多一个父亲指针. 孩子兄弟表示法:data,存储数据,firstchild第一个孩子节点,rightsib右兄弟节点 1.树的度 是什么意思? 树内各结点的度的 最大值 2.树的 存储方式 中的 双亲表示法…