算法程序设计与数据结构
HelloLV111
共同学习,共同进步。
展开
-
2-3树的讲解
视频讲解:https://www.bilibili.com/video/BV1Ft411K7uJ?from=search&seid=11639360941243586154&spm_id_from=333.337.0.0博客讲解:https://www.yycoding.xyz/post/2014/3/25/introduce-2-3-search-tree转载 2021-11-22 21:51:49 · 127 阅读 · 0 评论 -
java中的集合
java集合概述Java 集合可分为 Collection 和 Map 两种体系Collection接口:单列数据,定义了存取一组对象的方法的集合List:元素有序(指的是存储时,与存放顺序保持一致)、可重复的集合Set:元素无序、不可重复的集合Map接口:双列数据,保存具有映射关系“key-value对”的集合ArrayList和LinkedList的异同?答:二者都线程不安全,相对线程安全的Vector,执行效率高。此外,ArrayList是实现了基于动态数组的数据结构,Li原创 2021-11-21 14:33:41 · 24483 阅读 · 6 评论 -
java 实现输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
import java.util.Arrays;class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}/** * @class_name: ReverseLinklist * @description: 链表操作 * @author: ljk * @create: 2021-11-18 19:58 **/public class ReverseLin原创 2021-11-18 20:49:25 · 831 阅读 · 0 评论 -
java实现字符串二进制的加法
public class BinaryAdd { /** * @param a 第一个要加的二进制字符串 * @param b 第二个要加的二进制字符串 * @return */ // String:不可变字符序列(操作少量的数据用 String) // StringBuilder:可变字符序列、效率高、线程不安全(单线程操作字符串缓冲区下操作大量数据 StringBuilder) // StringBuffer:可变字符序列、效率低、原创 2021-11-18 19:07:50 · 868 阅读 · 0 评论 -
常见的排序算法
排序算法内部排序:整个排序过程不需要借助于外部存储器(如磁盘等),所有排序操作都在内存中完成。外部排序:参与排序的数据非常多,数据量非常大,计算机无法把整个排序过程放在内存中完成,必须借助于外部存储器(如磁盘)。外部排序最常见的是多路归并排序。可以认为外部排序是由多次内部排序组成。内部排序算法选择排序基本思想:将待排序的元素分为已排序(初始为空)和未排序两组,依次将未排序的元素中值最小的元素放入已排序的组中.直接选择排序排序过程:在一组元素R[i]到R[n]中选择具有最小关键码的元素原创 2021-04-14 22:03:35 · 397 阅读 · 1 评论 -
寻找一个字符串中的最长的单词
#include <stdio.h>#include <string.h>int main(){ int find_longest_word(char str[]); char str[100]; printf("Please input a sentence, we will find the longest word of the sent...原创 2020-06-23 14:52:22 · 944 阅读 · 0 评论 -
c语言删除某个字符串中的某一个字符
之前在处理删除某个字符串中的某个字符的时候,经常会先在外层套一个for循环,然后再进行查找目标字符串中的目标字符,当查找到的时候,将查找到的目标字符后面的所有字符依次向前面移动,然后继续向后查找目标字符,直到查找到最后的一个字符。后来在看c语言的书籍的时候,发现了一种效率比较高的方法,该方法只需要进行一次对目标字符串的遍历即可完成删除目标字符的功能,具体的代码如下所示:void dele...原创 2018-10-20 10:29:07 · 63896 阅读 · 27 评论 -
c语言实现数组的二分查找
二分查找是一种效率比较高的查找顺序表中的元素的方法,其时间复杂度为O(log2n)。具体代码如下所示:#include <stdio.h>#include <stdlib.h>int cmp(int *a,int *b){//define a function used for the function qsort. return (*a)-(*b);...原创 2018-10-07 12:09:39 · 427 阅读 · 0 评论 -
二维数组的鞍点问题
二维数组鞍点的定义:存在一个二维数组a[n][m],有一个元素a[i][j],在i行中它是最大的元素,在j列中它是最小的元素,则认为a[i][j],关于二维数组中的鞍点的个数的问题,未找到准确的定义,有的书上说是一个二维数组最多只有一个鞍点,但是有的就说是可以有多个。下面的代码实现了寻找二维数组中的一个鞍点的问题。#include <stdio.h>#include <...原创 2018-10-07 09:49:34 · 12978 阅读 · 0 评论 -
c语言实现奇数魔方阵
魔方阵定义:魔方阵是一个方阵,它的每一行、每一列和对角线之和均相等。例如存在三阶魔方阵:8 1 63 5 74 9 2魔方阵中各数的排列规则:(1)将1放在第一行中间一列。(2)从2开始直到n*n止各数依次按照下列规则存放:每一个数存放的行比前一个数的行数减1,列数加1(例如上述的魔方阵中,6在5的上一行下一列)(3)当上一个数的行数为1时,...原创 2018-10-06 14:18:22 · 2291 阅读 · 0 评论