最新文章列表

优秀程序员必须掌握的 8 种通用数据结构

本文整理自网络,编辑:逆锋起笔小编 数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。 几乎所有已开发的程序或软件系统都使用数据结构。此外,数据结构属于计算机科学和软件工程的基础。当涉及软件工程面试问题时,这是一个关键主题。因此,作为开发人员,我们必须对数据结构有充分的了解。 在本文中,我 ...
code小生 评论(0) 有537人浏览 2021-08-19 19:40

数据结构(java版)

前言 应读者要求,分享一份 java 版的数据结构,其实之前已经分享过一份数据结构,同样也是 java 语言讲解,链接在这里。   今天这份
code小生 评论(0) 有1078人浏览 2018-03-28 21:00

数据结构与算法-表

数据结构与算法-表         我们将处理一般的型为:A1、A2、A3....AN的表,这个表的大小为N,不包含有任何一个元素大小为0的我们称为空表。 我们称为An+1为An的后继、 An-1为An的前驱。表的实现为简单的数组和链表两种。  一、简单数组         简单的数组我们需要给定的最大大小并且各个元素相间内存空间是连续的。数组在操作中:查找需要消耗O(1),但是在插入和删 ...
qq466862016 评论(0) 有542人浏览 2016-06-05 12:50

算法的稳定定性及各算法稳定性分析

引用【1】选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法 冒泡排序、插入排序、归并排序和基数排序都是稳定的排序算法。 【2】研究排序算法的稳定性有何意义? 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。 再简单具体一点,如果A i == A j,Ai 原来在 Aj 位置前,排序后 Ai  ...
leihongtai2010 评论(0) 有889人浏览 2015-11-10 23:25

每周一道数据结构(三)树、二叉树、最优二叉树

原帖地址:http://www.cnblogs.com/coder2012/archive/2013/06/05/3102868.html树     树形结构是一类非常重要的非线性结构,它可以很好地描述客观世界中广泛存在的具有分支关系或层次特性的对象,因此在计算机领域里有着广泛应用,如操作系统中的文件管理、编译程序中的语法结构和数据库系统信息组织形式等。   树的相关定义 节点的度:一个节 ...
wyqj 评论(0) 有623人浏览 2013-06-05 09:56

郝斌老师数据结构课程笔记

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ...
dcj3sjt126com 评论(1) 有5723人浏览 2013-03-18 21:44

数据结构与算法——算法速率

  O()表示法是处理近似计算的一种数学途径,当我们写下某个特定的排序算法对n个记录进行排序所需时间是O(n2)时,我们的意思是,最坏情况下,所需时间随着n的平方变化。O()表示法对我们在度量时间,内存等的值设置了上限。   有时我们会遇到复杂的O()函数,随着n的增大, 最高阶的项会主宰函数的值,习惯做法是去掉所有低阶项,对任何常数项不予考虑。如O(n2+3n)和O(n2)一样等价,这实际上 ...
ciaos 评论(0) 有1407人浏览 2012-11-08 08:37

数据结构与算法——二叉树遍历

首先定义一个二叉树结构如下   class BNode{ private String name; private BNode left,right; public String getName() { return name; } public void setName(String name) { this.name = name; } ...
ciaos 评论(0) 有777人浏览 2012-11-02 08:24

求一个字符串中连续出现次数最多的子串

题目: 求一个字符串中连续出现次数最多的子串,例如:abcbcd 最多的子串为bc #include <iostream> #include <string.h> using namespace std; char substr[255]; void findmaxsubstr(char *str){ int len=strlen(str); int c ...
sihesizhu 评论(0) 有2人浏览 2012-08-29 14:10

常用排序算法递归篇之堆排序

      在讲堆排序之前,我们先来了解一下什么是堆,堆的定义如下:       n个关键字序列array[0...n-1]称为(Heap),当且仅当该序列满足如下性质:       array[i] <= array[2i + 1] && array[i] <= array[2i + 2] (1 ≤ i ≤ n),当然,这是小顶堆,大顶堆则换成>= ...
yujing_yu 评论(0) 有8人浏览 2012-08-24 18:25

常用排序算法递归篇之堆排序

      在讲堆排序之前,我们先来了解一下什么是堆,堆的定义如下:       n个关键字序列array[0...n-1]称为(Heap),当且仅当该序列满足如下性质:       array[i] <= array[2i + 1] && array[i] <= array[2i + 2] (1 ≤ i ≤ n),当然,这是小顶堆,大顶堆则换成>= ...
latest555 评论(0) 有4人浏览 2012-08-24 16:49

常用排序算法递归篇之归并排序

      合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。合并排序也叫归并排 ...
mimiganga 评论(0) 有6人浏览 2012-08-23 15:06

常用排序算法递归篇之快速排序

      上一篇讲了几种非递归实现的常用排序算法,接下来把常用的几种用递归实现的排序算法也讲一下。本篇先讲快速排序,首先来描述一下快速排序的基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。       快速排序的实现描述: ...
teseyinzhi 评论(0) 有8人浏览 2012-08-22 23:29

字典与散列表

一、字典 字典(dictionary)是一些元素的集合。每个元素有一个称作key 的域,不同元素的key各 不相同。有关字典的操作有: • 插入具有给定关键字值的元素。 • 在字典中寻找具有给定关键字值的元素。 • 删除具有给定关键字值的元素。 随机访问:若仅按照一个字典元素本身的关键字来访问该元素。 顺序访问:指按照关键字的递增顺序逐个访问字典中的元素。顺序访问需借助于Begin ( ...
juliufeifei 评论(0) 有9人浏览 2012-08-21 17:17

循环冗余校验(CRC)算法入门引导

写给嵌入式程序员的循环冗余校验(CRC)算法入门引导 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常 ...
latest555 评论(0) 有8人浏览 2012-08-19 20:28

排序算法复习(2)——合并排序

合并排序的重点就是怎么原地(in-place)合并已排序的两个子序列。   关于合并子函数: (1)写了两个,一个是原地合并; 函数void inplace_merge(/*in-out*/int* a,/*in*/int low,/*in*/int q,/*in*/int high) (2)一个是非原地合并。 详见函数int merge(/*in*/int* a,/* ...
deng_dai_shi 评论(0) 有7人浏览 2012-08-19 19:15

循环冗余校验(CRC)算法入门引导

写给嵌入式程序员的循环冗余校验(CRC)算法入门引导 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常 ...
juliufeifei 评论(0) 有8人浏览 2012-08-19 13:45

LeetCode题目 Jump Game II

题目: Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Your ...
pinshiqi 评论(0) 有5人浏览 2012-08-18 14:00

LeetCode题目 Insert Interval

题目: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary). You may assume that the intervals were initially sorted according to their start times ...
weiwo1978 评论(0) 有8人浏览 2012-08-17 15:52

常用排序算法(一)

      一直以来,对于冒泡、插入、选择这样的简单排序算法都没有弄得特别清楚,总是弄混淆。趁着晚上有空,把相关的排序算法回忆一下并做个记录。接下来讲的排序算法都以对整数的排序为例:       冒泡排序的实现描述:       1、将所有待排序的整数放入数组中;       2、从数组的第一个数字到倒数第二个数字进行逐个检查:若某一位上的整数大于它的下一位,则将它与它的下一位交换;   ...
toperror 评论(0) 有8人浏览 2012-08-16 22:17

最近博客热门TAG

Java(141744) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54919) .net(54785) Web(54514) 工作(54118) Linux(50905) Oracle(49875) 应用服务器(43289) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37267) 数据结构(36424)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics