数据结构
Kyrie2011
这个作者很懒,什么都没留下…
展开
-
杨辉三角的练习
1.杨辉三角杨辉三角可看成一个K行*N列的矩阵 ,即可用二维数组来存储整个元素 。它存在如下规律:第K层有K个元素;每层的第一个元素和最后一个元素值为1;当K>2时,其余的元素等于它上一层两相邻元素之和即A[K][N]= A[K-1][N-1]+A[K-1][N]。2. C++中vector的用法vector是一个能够存放任意类型的动态数组,vector作为函数的参数或者返回值时,需要注意它...原创 2018-07-08 11:27:52 · 220 阅读 · 0 评论 -
Array-关于(有序)数组的3个小练习
//1.指定数组和要移除的元素,在不创建第二个数组的情况下,实现移除数组中指定元素并返回新数组长度的功能。#include<iostream>using namespace std;int main(){ class Solution{ public: int removeElement(int A[], int n, int elem){ int j=0; for ...原创 2018-07-07 17:50:11 · 196 阅读 · 0 评论 -
“指针”-01
1.指针定义(维基百科):指针是编程语言中的一类数据类型及其对象或变量(实体),用来表示或存储一个存储器地址,这个地址值直接指向存在该地址的对象的值。这个对象的值,可能代表另一个变量、结构、对象或函数。在计算机科学中,指针是一种最简单形式的引用(reference)。指针有两种含义,一是作为数据类型,二是作为实体。前者如字符指针、浮点指针等等;后者如指针对象、指针变量(为对被引用类型的实体的引用)...原创 2019-02-18 15:12:33 · 353 阅读 · 0 评论 -
深入理解递归及尾递归-03
普通的递归 递归内部调用 递归的程序实现 尾递归的优化原创 2019-02-24 21:32:38 · 293 阅读 · 1 评论 -
算法复杂度-02
摘要: 1.大O表示法 时间复杂度常用大O符号表示。我们通常使用算法的最坏情况复杂度,记为T(n),定义为任何大小的输入n所需的最大运行时间。 如果一个算法的执行次数是T(n),那么只保留最高次项,同时忽略最高项的系数后得到函数f(n),此时算法的时间复杂度就是O(f(n))。 对于一个循环,假设循环体的时间复杂度为O(n),循环次数为m,则这个循环的时间复杂度为O(n×m)。对于多个循环,假设循...原创 2019-02-25 16:42:26 · 172 阅读 · 0 评论 -
数据结构之顺序表01
顺序表对数据的物理存储结构:要提前申请一整块足够大小的物理空间,使用一组地址连续的存储单元依次存储表中的数据元素。 顺序表,顺序表存储数据同数组非常接近。其实,顺序表存储数据使用的就是数组(固定或者动态数组)。这里用的是动态存储结构来实现,即动态数组。 主要内容包括:顺序表的定义及顺序表的初始化,顺序表的一些基本操作(增删查改等)。 #include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt; #in...原创 2019-03-05 15:46:12 · 107 阅读 · 0 评论 -
数据结构之链表01
链表存储是在程序运行过程中动态分配空间,只要存储空间还有空间,就不会发生存储溢出问题 。 优点:插入和删除速度快,保有原有的物理顺序。比如,插入或者删除一个元素时,只需要改变指针指向即可。缺点:查找速度慢,因为查找时,需要循环链表访问 。 #include<stdio.h> #include<stdlib.h> //链表,别名链式存储结构或单链表 //链表不限制数...原创 2019-03-05 16:04:33 · 88 阅读 · 0 评论 -
常见排序算法小结
排序 冒泡排序bubbleSort() 选择排序selectSort() 插入排序insertSort() package basicSorted.com; public class InsertionSorted2 { public static void main(String[] args) { int[] arr = {27,10,12,20,14,25,...原创 2019-05-19 14:14:45 · 90 阅读 · 0 评论