数据结构与算法(3)--栈抽象数据类型及Python实现
数据结构与算法(3)–栈抽象数据类型及Python实现1. 什么是栈?是一种有次序的数据项集合,在栈中数据项的加入和移除都发生在同一端。一端叫做栈顶,另一端叫做栈底。1.1. 特点距离在栈底比较近的数据项,待的时间就比较长。抽象数据类型“栈”是一个有次序的数据集, 每个数据项仅从“栈顶”一端加入到数...
数据结构与算法学习之队列及队列的相关操作
队列也是一张表,它是一种插入操作在一端删除操作在另一端进行的表。队列的操作主要要抓住两个核心位置队头front和队尾rear。队列的主要操作就是入队与出队了。同样,队列也可以使用数组和链表两种方式实现。 下面是本人在学习队列操作时利用链表方式实现的代码: /*********************...
数据结构及算法篇bsearch crypt lfind lsearch qsort rand srand
crypt(将密码或数据编码)相关函数getpass表头文件#define _XOPEN_SOURCE#include<unistd.h>定义函数char * crypt (const char *key,const char * salt);函数说明crypt()将使用Data Enc...
C++ 冒泡排序数据结构、算法及改进算法
冒泡排序是一种简单排序。这种排序是采用“冒泡策略”将最大元素移到最右边。在冒泡过程中,相邻两个元素比较,如果左边大于右边的,则进行交换两个元素。这样一次冒泡后,可确保最大的在最右边。然后执行n次冒泡后排序
Java数据结构之基于比较的排序算法基本原理及具体实现
最近刚学习完七种比较常见的基于比较的排序算法,感觉比较重要,所以写个博客记录一下,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
浅谈MySQL索引背后的数据结构及算法【转】
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MyS...
数据结构算法C语言实现(十四)--- 4.1&4.2串的类型定义、表示及实现
一.简述【暂无】二.头文件 //4_2_part1.h /** author:zhaoyu */ //2016-6-10 //----串的定长顺序存储表示---- #include "head.h" #define MAXSTRLEN 255//用户可以在255以内定义最大串长 //这语法还不是很熟...
【数据结构&&算法系列】KMP算法介绍及实现(c++ && java)
KMP算法如果理解原理的话,其实很简单。 KMP算法简介 这里根据自己的理解简单介绍下。 KMP算法的名称由三位发明者(Knuth、Morris、Pratt)的首字母组成,又称字符串查找算法。 个人觉得可以理解为最小回溯算法,即匹配失效的时候,尽量少回溯,从而缩短时间复杂度。 KMP算法有...
MySQL(二)索引背后的数据结构及算法原理
本文转载自CodingLabs,原文链接 MySQL索引背后的数据结构及算法原理目录摘要一、数据结构及算法基础1. 索引的本质2. B-Tree和B+Tree3. 为什么使用B-Tree(B+Tree)二、MySQL索引实现1. MyISAM索引实现2. InnoDB索引实现三、索引使用策略及优化1...
用JS描述的数据结构及算法表示——栈和队列(基础版)
前言:找了上课时数据结构的教程来看,但是用的语言是c++,所以具体实现在网上搜大神的博客来看,我看到的大神们的博客都写得特别好,不止讲了最基本的思想和算法实现,更多的是侧重于实例运用,一边看一边在心里隐隐歌颂大神的厉害,然后别人的厉害不是我的,所以到底看得各种受打击+头昏脑涨,写这个系列是希望自己能...
Java数据结构及算法实例:快速计算二进制数中1的个数(Fast Bit Counting)
这篇文章主要介绍了Java数据结构及算法实例:快速计算二进制数中1的个数(Fast Bit Counting),本文直接给出实现代码,代码中包含详细注释,需要的朋友可以参考下
浅谈MySQL索引背后的数据结构及算法
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MyS...
【算法和数据结构】_11_小算法_itoa、ftoa及字符串倒置
【1】main.c/****************************************************** 把整数按照进制数转换为相应进制的字符串*(要考虑符号),比如 -1234,转换为 “-1234”。*********************************...
数据结构与算法学习之栈及栈的相关操作
栈是一种将插入和删除操作限制在一端的表,有时也成为LIFO表;栈的操作核心是使用一个栈顶指针top指向栈顶元素。 栈中有两个总要的操作就是Push和pop,进栈和出栈操作。 栈也可以使用两种方式建立,数组方法和链表方法。当然数组实现是连续存储的,但是使用起来需要预先估计数组的大小。链表实现是非连续 ...
Java数据结构和算法总结-字符串及高频面试题算法
前言:周末闲来无事,看了看字符串相关算法的讲解视频,收货颇丰,跟着视频讲解简单做了一下笔记,方便以后翻阅复习同时也很乐意分享给大家。什么字符串在算法中有多重要之类的大路边上的客套话就不多说了,直接上笔记吧。一、字符串java:String内置类型,不可更改。(如需更改可考虑:StringBuffer...
javascript实现数据结构与算法系列:队列 -- 链队列和循环队列实现及示例
1 队列的基本概念 队列(Queue):也是运算受限的线性表。是一种先进先出(First In First Out ,简称FIFO)的线性表。只允许在表的一端进行插入,而在另一端进行删除。 队首(front) :允许进行删除的一端称为队首。 队尾(rear) :允许进行插入的一端称为队尾。 例如:...
数据结构算法C语言实现(七)--- 3.1栈的线性实现及应用举例
一.简述栈,LIFO。是操作受限的线性表,和线性表一样有两种存储表示方法。下面以顺序存储为例,实现。二.ADT暂无。三.头文件 //3_1.h /** author:zhaoyu email:zhaoyu1995.com@gmail.com date:2016-6-7 note:realize my...
【数据结构与算法】- 循环链表 - 详细实现步骤及代码(C/C++)
目录一、概述二、循环链表三、循环链表实现步骤 ????3.1 C语言定义循环链表结点 ????3.2 3.2 循环链表初始化 ????3.3 循环链表插入数据 ????3.4 循环链表删除数据 ????3.5 循环链表查找数据 ????3.6 循环链表的销毁四、循环链表链表完整代码 ...
【算法与数据结构】Java实现字符串的全排列及组合
注:本文记录了代码编写及调试过程,想直接浏览正确答案的请移步文章结尾。一、字符串的全排列问题1. 下面是最初的代码(答案有错误-重复输出) import java.util.Scanner; public class Main { public static void main(String...
javascript数据结构与算法--基本排序算法(冒泡、选择、排序)及效率比较
javascript数据结构与算法--基本排序算法(冒泡、选择、排序)及效率比较一、数组测试平台。javascript数据结构与算法--基本排序(封装基本数组的操作),封装常规数组操作的函数,比如:插入新数据,显示数组数据,还有交换数组元素等操作来调用不同的排序算法function CArray(n...