
数据结构与算法
风气又波
希望找到同领域研究者,可以互相交流学习,共同进步~
展开
-
数据结构与算法(选择排序)
选择排序(Selection Sort)问题描述:一串数字,进行排序解题思路:整个数组遍历一遍找出最大数,与最后一个数进行交换;除去最后一个,进行遍历找出次大的,放在倒数第二位置;如此类推。#include<stdio.h>int findMaxPos(int arr[], int n){ int max = arr[0]; int pos = 0...原创 2019-01-15 12:14:41 · 310 阅读 · 3 评论 -
非线性数据结构(树结构)Java版
1.树举例:文件夹、公司组织架构、家谱等优点:数据存储后出奇高效二分搜索树(Binary search Tree)、平衡二叉树:AVL;红黑树堆:并查集线段树字典树;前缀树2.二分搜索树的遍历(1)层序遍历遍历过程:根节点28---------中层16----------底层13-----------底层22-------------中层30------...原创 2019-05-23 20:30:23 · 634 阅读 · 0 评论 -
线性数据结构-----数组(Java)
1.数组(1)定义:相同数据类型的数据的集合(可以重复可以无序固定容量capacity)eg: {1,2,3,4,5,6,4,2,2}(2)举例:package cn.ArrayTest;public class Main { public static void main(String[] args) { int[] arr = new int[10]; ...原创 2019-05-23 15:57:42 · 301 阅读 · 0 评论 -
Java面试(1)-------Hashmap
面试问题:1 HashMap是线程安全?为甚?2.HashMap数据结构是什么?3.JDK1.8后HashMap优化哪块,为何要优化?(1)数组(ArrayList):采用一段连续存储空间来存储数据。对于指定下标查找时间复杂度为O(1);对于一般的插入删除操作时间复杂度为O(n).(2)链表(LinkedList):链表的新增、删除等操作时间复杂度为O(1),查找需要遍历...原创 2019-04-27 21:32:07 · 179 阅读 · 0 评论 -
数据结构与算法(栈)
题目描述:给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]...原创 2019-03-25 11:12:19 · 212 阅读 · 0 评论 -
数据结构与算法(a)
1.数据结构与算法程序 = 算法 + 数据结构算法 = 逻辑结构 + 控制数据结构:线性结构、树状结构和图状结构2.术语数据(Data)数据元素(Data Element)数据项(Data Item)数据对象数据结构逻辑结构:线性表、树、图和集合存储结构:顺序存储和链式存储数据操作数据类型抽象数据类型(ADT)3.算法算法用途:设计并...原创 2019-02-24 12:33:16 · 318 阅读 · 0 评论 -
数据结构与算法(3)
一、逻辑结构划分为线性结构与非线性结构?线性结构:有且只有一个开始节点和一个终端节点,并且所有终点都做多只有一个直接前驱和一个后继。案例:冰糖葫芦、排队上地铁非线性结构:主要树(主要指二叉树)、图(多对多)案例:姓氏族谱、公司员工结构、地铁路线、高速公路网 1. 特点:头结点无前驱有后继;尾节点无后继有前驱;中间结点有前驱有后继;物理上相邻逻辑上也相...原创 2019-01-03 18:37:03 · 213 阅读 · 0 评论 -
数据结构与算法(1)
一. 知识结构(理论)1.绪论2.线性结构(1)线性表(2)栈(3)队列(4)字符串补充:递归3. 非线性结构(1)树与二叉树(2)图4.应用(1)查找(2)排序二. 实现操作编写相关算法代码 数据结构 入门问题1. 为什么学习数据结构?(1)高级程序设计的理论指导(2)提升编码能力(3)面试中经常被问及,看发展潜...原创 2019-01-02 16:24:02 · 118 阅读 · 0 评论 -
数据结构与算法(2)
一 . 绪论算法------------------>步骤--------------------->实现----------------------->评价标准1. 算法特点:(1)可行性(2)确定性(3)有穷性(4)0个或多个输入(5)1个或以上输出2. 算法评价标准:(1)时间复杂度(注:估计算法执行次数或工作量或规模或输入)f(...原创 2019-01-03 09:59:11 · 166 阅读 · 0 评论 -
数据结构与算法(汉罗塔)
问题描述: 游戏里有三根金刚石柱子,左边的柱子上从下往上按照大小顺序摞着N片黄金圆盘。玩家需要做的是把圆盘从下面开始按从大顺序重新摆放在右边的柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。问题性质:递归算法解决思路:(1)想办法将A中最大的(或最下面的)留下,其他移动到B中;(2)将A中最大的放到C上面;(3)想办法将B上的类似(1),将最大的...原创 2019-01-15 10:01:43 · 384 阅读 · 0 评论 -
数据结构与算法(冒泡排序)
冒泡排序(Bubble Sort)问题描述:将一串数字,按照从小到大顺序拍好。(经典算法:冒泡法)解题思路:每次去相邻两个数据进行大小比较排序,一趟就可以去最大数到最右端,如此循环,直达最左数字位置。#include<stdio.h>void bubble(int arr[], int n){ int i; int temp; for(i...原创 2019-01-15 10:51:34 · 184 阅读 · 0 评论