加载中
Go 常见算法面试题篇(三):高效调整数组数值顺序

题目 今天来看一个考察程序员基本功的数组面试题,看起来仍然很简单,不过通过这个题目的不同解法,可以快速检验你是初级程序员还是资深程序员,一起来看下吧: 输入一个整数数组,实现一个函...

2021/08/12 18:10
67
Go 常见算法面试题篇(二):在 O(1) 时间内删除单链表结点

题目 继续看一个来自《剑指 Offer》的链表题: 给定单向链表的头指针和结点指针,定义一个函数在 O(1) 时间内删除该结点。 我们知道,单向链表删除一个结点,通常的做法是从链表的头结点开始...

2021/08/06 09:35
30
Go 数据结构和算法篇(十八):平衡二叉树

引子 上篇教程学院君给大家介绍了二叉排序树,并且提到理想情况下,二叉排序树的插入、删除、查找时间复杂度都是 O(logn),非常高效,而且它是一种动态的数据结构,插入删除性能和查找一样好...

go
2021/08/04 22:25
27
Go 常见算法面试题篇(一):反转单链表

上周周末有人和我交流反转单链表的实现代码,正好我也要写常见算法面试题系列,就着这个机会开始这个系列,和数据结构和算法系列并行,以便学以致用。 题目 那就从反转单链表开始吧,这个题目...

2021/08/02 13:15
45
Go 数据结构和算法篇(十七):二叉排序树

前面已经介绍了二叉树的存储和遍历,今天这篇教程我们以二叉排序树为例,来演示如何对二叉树的节点进行「增删改查」。开始之前,我们先来介绍什么是二叉排序树,以及为什么要引入这种二叉树。...

go
2021/07/30 09:34
62
Go 数据结构和算法篇(十六):二叉树的遍历

二叉树的遍历指的是从根节点出发,按照某种次序依次访问二叉树中的所有节点,使得每个节点被访问一次且仅被访问一次。 有多种方式可以遍历二叉树,如果按照从左到右的习惯方式,主要分为三种...

go
2021/07/29 09:41
21
Go 数据结构和算法篇(十五):二叉树的定义和存储

一、树的相关概念 树这种数据结构模拟了自然界中树的概念,自然界中的树有根、叶子、枝干,数据结构中的树也是如此,只不过是倒过来的: 二叉树图示 其中的每个元素叫做节点。树的顶点(没有...

go
2021/07/28 09:50
13
基于 RoadRunner 驱动 Octane 构建高性能 Laravel 应用

Laravel Octane 已于昨天发布了 Beta 版,关于 Laravel Octane 学院君在之前专门发布过一篇文章简单介绍过,这是 Laravel 官方提供的基于 Swoole/RoadRunner 构建高性能 Laravel 应用的解决方...

Go 数据结构和算法篇(十四):哈希表、哈希函数、哈希冲突和哈希算法

一、哈希表 哈希表(HashTable,也叫散列表),是根据键名(Key)直接访问对应内存存储位置的数据结构。 其实现原理是通过哈希函数(也叫散列函数)将元素的键名映射为数组下标(转化后的值叫...

2021/04/08 00:46
0
通过接口返回数据渲染 Vue 页面组件并实现分页功能

一、整体思路 在上篇教程中,我们在 Laravel 后端编写好了文章相关 API 数据接口,接下来,还需要在 Vue 页面组件中通过这些 API 接口返回的数据渲染前端页面,从而完成功能闭环。 对于单页面...

Go 数据结构和算法篇(十三):字符串匹配之 Trie 树

一、Trie 树的定义 Trie 树,也叫「前缀树」或「字典树」,顾名思义,它是一个树形结构,专门用于处理字符串匹配,用来解决在一组字符串集合中快速查找某个字符串的问题。 注:Trie 这个术语...

2021/04/01 23:29
92
Go 数据结构和算法篇(十二):字符串匹配之 KMP 算法

KMP 算法可以说是字符串匹配算法中最知名的算法了,KMP 算法是根据三位作者(D.E.Knuth,J.H.Morris 和 V.R.Pratt)的名字来命名的,算法的全称是 Knuth Morris Pratt 算法,简称为 KMP 算法...

2021/03/28 23:02
62
Laravel 后端博客文章数据相关 API 接口提供

在前两篇教程中,我们已经为博客单页面应用准备好了前端路由和页面组件,在这篇教程中,我们将通过 Laravel 后端 API 接口提供文章数据来渲染前端页面。 一、模型类和数据库迁移 开始之前,先...

页面布局(下):引入 Tailwind CSS 框架构建博客应用 UI 界面

在上篇教程中,学院君给大家演示了单页面博客应用前端路由和页面布局的基本构建,不过由于没有应用任何 CSS 样式代码,所以 UI 界面很丑陋,今天,学院君将引入 Tailwind CSS 框架来美化这个...

Go 数据结构和算法篇(十一):字符串匹配之 BF 算法

接下来的三篇教程,学院君将由浅及深地给大家介绍三个常见的字符串匹配算法。 首先从最简单的字符串匹配算法 —— BF 算法说起,BF 是 Brute Force 的缩写,中文译作暴力匹配算法,也叫朴素匹...

go
2021/03/26 00:34
73
页面布局(上):基于 Vue Router 命名路由实现动态路由导航

我们依然以博客应用为例演示基于 Laravel + Vue 框架构建单页面应用。 页面布局模板 对于博客应用而言,除了首页和关于页面外,通常还有分类导航和反馈(联系表单)等其他页面: 下面我们以上...

Go 数据结构和算法篇(十):二分查找的变形版本

日常开发过程中,除了我们上篇讲到的正常的二分查找,还有很多二分查找的变形版本,今天开始,我们就来给大家一一介绍这些变形版本。 从给定序列中查找第一个匹配元素 符合标准的二分查找条件...

2021/03/23 23:20
46
Go 数据结构和算法篇(九):二分查找

介绍完基本的线性表排序算法后,今天我们来介绍一种常见的线性表查找算法 —— 二分查找。 一、二分查找的引入 对于基于数字索引的数组/切片元素查找,我们可能第一反应都是遍历这个数组/切片...

2021/03/21 21:11
40
基于 Vue Router 构建单页面应用项目骨架

今天开始,学院君将花几个篇幅的教程给大家快速过一下如何基于 Laravel 框架进行单页面应用开发。 一、初始化项目和前端依赖 开始之前,先通过如下步骤初始化一个新的 Laravel 项目作为单页面...

Go 数据结构和算法篇(八):快速排序

一、实现原理 归并排序算法虽好,但是不是原地排序算法,需要消耗额外的内存空间,今天我们要介绍的是常规排序里综合排名最高的排序算法:快速排序,江湖人称「快排」。 快排的核心思想是这样...

go
2021/03/20 00:00
12

没有更多内容

加载失败,请刷新页面

返回顶部
顶部