选择排序可以分为:简单选择排序和堆排序(已知位置,找元素)1.简单选择排序原理:就是直接从待排序数组里选择一个最小(最大)的数字,顺序放入数组里,直到数组排好序代码实现:for(int i=0;i 0; i--){ heapAdjust(arr, i, a.length); } //排序 for(i... ...
分类:
编程语言 时间:
2017-12-14 19:23:14
阅读次数:
117
还记得这个经典公式吗? 程序=数据结构+算法 可见数据结构和算法对于程序的重要性。基于此博主写了数据结构与算法系列随笔。下面先给出数据结构与算法的思维导图。一.数据结构的基本概念数据结构定义:数据结构是一种存储和组织数据的方式,以便于访问和修改。数据结构包括数据的逻辑结构、数据的存储结构以及数据的运... ...
分类:
编程语言 时间:
2017-12-14 19:20:19
阅读次数:
157
归并排序(分治思想的运用)原理:将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的,然后再把有序的子序列合并为整天有序序列。分治算法步骤:第一步:划分。将原问题划分为几个子问题第二步:递归求解。递归求解每个子问题第三步:合并。将求解后的子问题合并成原问... ...
分类:
编程语言 时间:
2017-12-14 19:17:51
阅读次数:
111
原理:比较临近的两个数字,按照从小到大的顺序进行交换,这样一趟过去后,最大(最小)的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第i位时结束。 分析:稳定,空间复杂度O(1),时间复杂度【最佳、最差、平均都是O(n*n)】。 分析:稳定,空间复杂度O(1),时间复杂度[最佳为O( ...
分类:
编程语言 时间:
2017-12-14 19:16:31
阅读次数:
113
1.目前从事工作和位置Java后端工程师 2.个人工作经历职位更倾向于JavaWeb工程师 3.基础书籍计划:深入理解计算机系统,数据结构与算法分析java语言描述 ,java核心技术,java并发编程实战,深入理解java虚拟机 3.1 英语english学习,高等数学,微积分 4.平常开发工具, ...
分类:
编程语言 时间:
2017-12-14 03:32:36
阅读次数:
150
一、数据结构与算法基础说一下几种常见的排序算法和分别的复杂度。 用Java写一个冒泡排序算法 描述一下链式存储结构。 如何遍历一棵二叉树? 倒排一个LinkedList。 用Java写一个递归遍历目录下面的所有文件。二、Java基础接口与抽象类的区别? Java中的异常有哪几类?分别怎么使用? 常用 ...
分类:
编程语言 时间:
2017-12-13 11:56:35
阅读次数:
177
题目: Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tree{1,#,2,3}, return[1,3,2]. 题目的意思是进行树的中序遍历。很明显在 ...
分类:
其他好文 时间:
2017-12-12 21:41:09
阅读次数:
96
第三章《栈与队列》 (一)栈简介 栈(Stack):只允许在一端进行插入或删除操作的线性表。首先栈是一种线性表,但是限定这种线性表只能在某一端进行插入和删除操作栈顶(top):线性表允许进行插入和删除的那一端。(开口的那一端)栈底(bottom):固定的,不允许进行插入和删除的另一端。(封死的那一端 ...
分类:
编程语言 时间:
2017-12-12 12:21:01
阅读次数:
245
《effective C++》及《c++ 数据结构与算法》第一章小得,消除了以前的一些困惑。 0 将C++ 视作一个语言城邦,这个城邦支持的公民有:0、C 1、OO (c with class) 2 、template 3、STL,我以前学习和接触最多的是 C和 class,模板和 STL 需要自己 ...
分类:
编程语言 时间:
2017-12-09 22:27:15
阅读次数:
177
现在计算机处理涉及到大量的字符串操作,字符串的匹配是使用频率最高的字符串操作之一,大学数据结构与算法中字符串一章,也专门介绍了字符串匹配。 字符串的单模式匹配中最基础的算法是朴素的模式串匹配算法,比这更高级的是KMP算法。 朴素的字符串匹配算法 算法中i,j分别指示主串text和模式串pattern ...
分类:
其他好文 时间:
2017-12-09 19:33:16
阅读次数:
136